OliverK Tutorial

Creating A Portable App: A Guerilla Field Guide

  1. Use the search box to find out if someone’s done the work or some of the work for you. Search PortableApps.com.
  2. Become familiar with the launchers available. For instance:
  3. Determine the license. Is it OSS or another type of license? If its Open Source Software, you can post all of the launcher and the program on the forums. Since PortableApps.com is dedicated to OpenSource software, its against the forum rules to post a piece of software that contains closed source (even if you are allowed to redistribute) software. If its closed source, well, you can post a launcher, similar to what I’ve done here, only. Why is this first? Well, you have to decide if its worth the work.
  4. Determine the programing language. Why? Well, you have to be careful. Is it done in:
    • .Net? Sorry. While some don’t care, alot of people here despise .Net, as its not installed on all computers. See this link For a whole discussion on the subject of .Net.
    • Java? As I understand there’s the Java Portablizer, but there is not yet an Open Source JRE. So use of Java applications is somehow limited.
      You can study the following application to get an idea of portable Java implementation.

  5. Get the tools. Load up- you’ll need them.
    • I whole heartedly suggest the use of HM NIS Edit (Portable) Select either the download with NSIS included, if you don’t intend to download it separately, or without if you do. It adjusts properly in both occasions.
    • Note also if you wish to use another editor, you can download a portable version of NSIS separately, from here.
    • Regshot. which is used to figure out what changes a program made during the install process.
    • Alternately, you can use Process Monitor to figure out what registry entries its reading.
    • NirSoft RegfromApp is a small freeware utility that allows you to specify a specific process to monitor. You can even launch a process with it and monitor those specifically. It produces a nicer output of what registry entries the program has modified.
    • I also suggest picking up Notepad ++ Portable. Just in case.
    • To handle making the icons, use something like IcoFx
  6. Do your research. Read up on these topics in the forums:

    Feel your head is about to explode? Mine to, writing all this html. There’s more

  7. Download your program. If you have keyboard loggers, malware protection or anything that runs in the background, consider turning them off before taking a regshot. Now, fire up regshot and take a regshot of the computer by scanning the C drive, more on that in a minute, before installation. Go have a cup of coffee or a can of Mountain Dew. Don’t touch the computer! You’ll get extra registry entries.
  8. Install your program and run it a couple of times. Make sure you do this from a clean install. If you don’t, you may have skewed results. Do NOTHING else during this time
  9. Take second regshot and then compare the results. Save it a html, it produces a nicer printout then .txt
  10. Figure out where the program is saving files. Check C:/Documents and Settings/UserName/Application Data for %appdata%. If you scan the entire C: Drive with regshot, those changes should show up.
  11. What to do with registry entries:
  • HKCU:Regshot will show a HCKU modification as HKURandom Numberswhatever. Look for those in HKCUSoftware and handle them in NSIS as HKEY_CURRENT_USERSoftwareWhatever.
    • Useful Entry: HKUS-1-5-21-1060284298-823518204-725345543-1003SoftwareTexas InstrumentsTI ConnectStartUp.
    • Useless: HKUS-1-5-21-1060284298-823518204-725345543-1003SoftwareMicrosoftWindowsShellNoRoamMUICache
  • HKLM:HKLM is a branch of the registry that cannot be modified by someone with a Limited account- just an Administrator. Handle them by double checking that they are needed. Often, something like InstallDir: whatever can be ignored. Else-if those entries really really are needed, you will need to check that the launcher can do it, then launch the software. If you don’t have the rights, you’ll use a message box to say so and terminate the launcher. Handle them in NSIS as HKEY_LOCAL_MACHINESoftwarewhatever
  • HKU: You can ignore these.
  • Find a base launcher that deals with those issues.
  • Adjust the launcher to reflect the changes you need made
  • Compile, test, and adjust

Original tutorial


If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

No comments yet.

Leave a Reply

Spelling error report

The following text will be sent to our editors: