This is an outdated version of the PortableApps.com Launcher. The next release is available here.
Here is a development release of the official PortableApps.com Launcher (a continuation of my earlier project). For those interested, development is taking place in our Mercurial repositories.
The PortableApps.com Launcher is your PAL in making applications portable. It's a universal launcher for which you don't need to write code. Instead, it's configured with an INI file (which goes in App\AppInfo\launcher.ini), and uses a splash screen in App\AppInfo\splash.jpg.
Download the PortableApps.com Launcher 1.0 Alpha 4 [490KB download / 487KB installed]
(MD5: 7af01c521ee0a698b98516c3812d4d9f)
John hasn't yet put his registry handling improvements in (and any other improvements he has). DV, after that (and along with more work of mine) it will become 1.0 Beta and then after that 1.0.
Using the PortableApps.com Launcher:
This release is backwards-compatible with PortableApps.com Launcher 1.0 Pre-Alpha 1 except for the minor point of user overrides (AppNamePortable.ini instead of PortableApps.comLauncher.ini), but backwards-incompatible with Chris's PortableApps.com Launcher Test 5, however upgrading is fairly straightforward. Please read the release notes for information on how to upgrade your files.
Install it somewhere, and then copy PortableApps.comLauncher.exe into the directory of the portable application that you are developing; change the filename to match the AppID specified in appinfo.ini, e.g. AppNamePortable.exe. Configure it with a file called launcher.ini file in your portable app's App\AppInfo directory, and also copy the splash screen to App\AppInfo\splash.jpg. You can look at the included PortableApps.comLauncher.ini file to see what functionality is available, or read help.html which has pretty complete documentation of what everything does, including a couple of examples.
Release Notes:
- 1.0 Alpha 4 (2010-02-17): improvements, bug-fixes and some changes in launcher.ini format (see comments or help.html).
- 1.0 Alpha 3 (2010-02-15): various improvements and bug-fixes, see comments below and hg changelogs for details.
- 1.0 Alpha 2 (2010-02-05):
- Various bug-fixes (thanks in particular to computerfreaker who unearthed a few of them).
- New feature:
[Launch]:WaitForEXE=filename.exe
to wait for an additional executable to close before cleaning up- New feature:
[Launch]:RunAsAdmin=force|try|none
. I would like testing on this - something like RapidSVN will do as a real case if you want it (uses HKLM).- New feature:
[ServiceN]
: services (and drivers). The implementation is not complete yet but should be functional (testing would be nice; for your own safety, it'd be a good idea to do it in a virtual machine you can revert).- Rename PortableApps.comLauncher.exe to AppNamePortable.exe again.
- User overrides go in AppNamePortable.ini again.
- 1.0 Pre-Alpha 1 (2010-01-29):
- I achieved my goal with this release: it is completely backwards-incompatible with Chris's PortableApps.com Launcher Test 5 :D.
- Changes:
- RegistryKeyWrite --> RegistryValueWrite
- [CommonFiles]:Java --> [Activate]:Java
- App\ChrisLauncher\AppNamePortable.ini --> App\AppInfo\launcher.ini
- App\ChrisLauncher\AppNamePortable.jpg --> App\AppInfo\splash.jpg
- [AppDetails]:ProgramDirectory and [AppDetails]:ProgramExecutable have been merged (join with \) --> [LaunchDetails]:ProgramExecutable
- Added:
- [CommonFiles]:Registry
- [RegistryValueBackupDelete]
- [LaunchDetails]:RefreshShellIcons
- java.util.prefs-style paths
- Running the application from UNC paths will now cause an error.
- Translations: the translations which were only used in Firefox and possibly a few others are available for all launchers now. Translations are welcome.
- Removed:
- [LiveMode]:CopyData (now forced true)
- [AppDetails]:PortableAppLongName - made obsolete by appinfo
- [AppDetails]: section has been made empty
- Moved:
- [LaunchDetails]: changed to [Launch].
- [AppDetails]:AppLongName --> [LaunchDetails]:AppName
- {AppName}Portable.ini user overrides must now be called PortableApps.comLauncher.ini and the header inside the file is [PortableApps.comLauncher]
- Recommended:
- [AppDetails]:AppLongName - leave blank unless [Details]:Name in appinfo.ini doesn't end in " Portable" or ", Portable Edition"
- New translation strings:
- Translations are needed for the following strings in all languages except French, German, Italian, Japanese, SimpChinese:
${LangFileString} LauncherFileNotFound "$PORTABLEAPPNAME cannot be started. You may wish to re-install to fix this issue. (ERROR: $MISSINGFILEORPATH could not be found)" ${LangFileString} LauncherAlreadyRunning "Another instance of $APPNAME is already running. Please close other instances of $APPNAME before launching $PORTABLEAPPNAME." ${LangFileString} LauncherAskCopyLocal "$PORTABLEAPPNAME appears to be running from a location that is read-only. Would you like to temporarily copy it to the local hard drive and run it from there?$\n$\nPrivacy Note: If you say Yes, your personal data within $PORTABLEAPPNAME will be temporarily copied to a local drive. Although this copy of your data will be deleted when you close $PORTABLEAPPNAME, it may be possible for someone else to access your data later." ${LangFileString} LauncherNoReadOnly "$PORTABLEAPPNAME can not run directly from a read-only location and will now close." ${LangFileString} LauncherPathTooLong "The path to $PORTABLEAPPNAME is too long. Please shorten the path by eliminating some parent directories or shortening directory names."- Translations are needed for the following strings in all languages:
${LangFileString} LauncherNoUNCSupport "$PORTABLEAPPNAME cannot be started from a UNC path. Please map the directory to a drive letter and try again." ${LangFileString} LauncherNoSpaces "$PORTABLEAPPNAME cannot run from a directory with a space in it. Please alter the current path ($EXEDIR) to remove any spaces and start the portable app again. Please see the help.html file for more information."- Release notes from "Chris's PortableApps.com Launcher Test" releases are available here
Still to do:
- Better language handling
- Examine all the launchers I can get my hands on and implement anything I can think of
- Suggestions very welcome - please suggest things!