Building on my prior story, I decided to try and create a Portable App launcher for Evernote. The process for doing so at Portable Apps is incompletely documented, so I thought I'd capture a walk-through here.
Substitute your drive letter for "S:", and your Evernote version for "4.01".
- One-time stuff. (Other stuff gets done for each app you make portable.):
- Install NSISPortable to S:\PortableApps\NSISPortable
- Install PortableApps.comLauncher to S:\PortableApps\PortableApps.comLauncher
- Download the PortableApps Application Template, and put it in S:\PortableApps\PortableApps.com_Application_Template_2.0
- Create the directory structure for your app by copying
- "S:\PortableApps\PortableApps.com_Application_Template_2.0\AppNamePortable"
- to "S:\PortableApps\"
- and rename it to EvernotePortable (creating S:\PortableApps\EvernotePortable).
- Copy the Evernote 4.01 program files and subdirectories
- from C:\Program Files\Evernote
- to S:\PortableApps\EvernotePortable\App\Evernote
- Create S:\PortableApps\EvernotePortable\App\AppInfo\Launcher\EvernotePortable.ini, containing:
[Launch] ProgramExecutable=Evernote\Evernote.exe WaitForExe1=EvernoteTray.exe [Activate] Registry=true [DirectoriesMove] -=%LOCALAPPDATA%\Evernote\Evernote\Logs [DirectoriesCleanupForce] 1=%LOCALAPPDATA%\Evernote [RegistryKeys] EvernotePortable=HKCU\Software\Evernote [RegistryValueWrite] HKCU\Software\Evernote\Evernote\EvernotePath=REG_SZ:%PAL:DataDir% [RegistryCleanupForce] 1=HKCU\Software\Evernote
[Format] Type=PortableApps.comFormat Version=2.0 [Details] Name=Evernote Portable AppID=EvernotePortable [Control] Start=EvernotePortable.exe
- from S:\PortableApps\PortableApps.comLauncher\App\AppInfo
- to S:\PortableApps\EvernotePortable\App\AppInfo
- (or ever better, use a tool like Icon Studio to extract the Evernote icon from Evernote.exe, and put it into AppInfo\appicon.ico).
- Note: Windows got weird on me about running PortableApps apps with multiple periods in the name, and the work-around was to rename the .exe files to have only a single "." in the name.
- Note that I do NOT recommend running it via the PortableApps menu at this point; if it runs into an error, running it directly will an error message; if you run it from the menu, you may not see the message.
- You are not running portably at this point. You're running your non-portable Evernote with a launcher. (Baby steps.)
- You want to copy the Databases, Dict, and Logs folders from wherever you had them into Data\Databases, Data\Dict, and Data\Logs.
- For me, this was to move the contents of S:\Evernote\Evernote-4.01-data to S:\PortableApps\EvernotePortable\Data.
- Standard location is C:\Documents and Settings\user-ID\Local Settings\Application Data\Evernote\Evernote
- For many applications, this won't be necessary because you can use RegistryValueWrite in the app's analogue to S:\portableApps\EvernotePortable\App\AppInfo\Launcher\EvernotePortable.ini. However, I wanted to put a RegistryValueWrite that would set Evernote's data directory, but without additional registry keys present, Evernote set the data directory to its default.
- Don't forget to end the .reg file with TWO empty lines. (It is a .reg file rule.)
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Evernote] [HKEY_CURRENT_USER\Software\Evernote\Evernote] "LastLogin"="kleinfelter" "SyncServiceUrl"="www.evernote.com" "TrunkUrl"="http://www.evernote.com/about/trunk/?layout=inapp" [HKEY_CURRENT_USER\Software\Evernote\Evernote\AutoResponse] "ConfirmAppExit"=""
Update: I moved it from S:\PortableApps\EvernotePortable to C:\kevin\EvernotePortable, and it worked without tinkering.