Making Evernote 4 Into a Portable App

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.

       

      Comments

      Comment: 

      Hello,
      I've a problem.
      You wrote: "Download the PortableApps Application Template, and put it in S:\PortableApps\PortableApps.com_Application_Template_2.0"

      I only got the File "ApplicationPortableTemplate.nsi"
      So the next step doesn't work, because a directory "AppNamePortable" doesn't exist.
      Can you help?
      Thank you very much

      Best regards
      Robin

      Comment: 

      I am trying to follow your instructions, thanks by the way, and I get to the point of running evernote for the first time. I keep getting an error of:
      Evernote Portable cannot be started. You may wish to re-install to fix this issue. (ERROR:App\Evernote\Evernote.exe could not be found)
      The .exe is there so I am not sure what went wrong.
      Any Ideas?

      Comment: 

      In my case, i skipped the NSISPortable & PortableApps.com_Application_Template_2.0
      What i did is i simply took folders from EvernotePortable 3.1 (http://forum.evernote.com/phpbb/viewtopic.php?f=37&t=18448)
      And i just changed DATA with the 4.3 version... Only in App\Evernote, not twice (in Data\Evernote too, seems useless! I checked this way and no file are created on the comp.

      Comment: 

      Still works ok using the latest Evernote

      Comment: 

      Anyone run into this.  I downloaded the latest copies of the nsisportable(unicode) and the launcher.  When I run generate app I get an error !include: could not find ...nsisportable\app\NSIS\..\..\Data\Settings\nsiconf.nsh

       
       

      Comment: 

      Great work on the portable version of Evernote. Just one addition for those that do not like extra processes in their portable applications. Evernote clipper (to clip items from the web when Evernote is not running) is launched by default when Evernote launches. However, Evernote clipper does not close when Evernote closes.

      To prevent Evernote clipper from launching:
      1. Close Evernote and kill the evernoteclipper.exe process in TaskManager
      2. Go to EvernotePortable\Data\settings\EvernotePortable.reg and search for the line "StartEvernoteClipper"=dword:00000001
      3. Replace the dword value 1 with 0, i.e. "StartEvernoteClipper"=dword:00000000
      4. If the line does not exist, add it under [HKEY_CURRENT_USER\Software\Evernote\Evernote]

      Note: make sure the quotes (") are 'straight' quotes not 'smart' quotes.

      mc

      Comment: 

      I don't have the names of the programs on hand, but there are several that will package and make any program portable for you. After checking the pen drive site and others, here's ones I can think of at the moment:
      Cameyo - you have to install one version in order to make the portable package though.
      Evalazer
      Enigma Virtual Box

      I haven't used all of them, and it's definitely worth checking the reviews, but definitely easier than doing it yourself.

      And an alternate tutorial how to do it: http://www.makeuseof.com/tag/pac-easily-create-portable-apps-programming...