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
  • Create S:\PortableApps\EvernotePortable\App\AppInfo\appinfo.ini, containing:
    [Format]
    Type=PortableApps.comFormat
    Version=2.0
    
    [Details]
    Name=Evernote Portable
    AppID=EvernotePortable
    
    [Control]
    Start=EvernotePortable.exe
  • Copy appicon.ico
    • 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).
  • Run S:\PortableApps\PortableApps.comLauncher\PortableApps.comLauncherGenerator.exe and tell it to use S:\PortableApps\EvernotePortable
    1. 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.
  • Run S:\PortableApps\EvernotePortable\EvernotePortable.exe.  It should start Evernote. 
    • 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.)
  • Copy your Evernote data to S:\PortableApps\EvernotePortable\Data.
    • 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
  • Create a prototype Data\settings\EvernotePortable.reg.
    • 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.