I hate installing software. I especially hate re-installing software after a migration or an upgrade. So does almost everyone I know, which is why I've learned how to avoid it whenever possible.
Before I built the giant black HAL 900 of a computer that's currently sitting under my desk, I had my previous computer -- a stock Dell XPS model -- for about four and a half years. As you can guess, I don't tend to change computers often. When I get moved in somewhere, I like to stay there -- and what's more, I like to make the process of moving in as painless as possible.
When I first migrated to the Dell XPS, I had several dozen applications scattered all over the place. Some were major commercial apps that had to be installed from the original media (Microsoft Office). Some needed to be installed from their respective downloadable installers (Skype, Firefox). And some were just programs that sat quietly in a directory somewhere and didn't need to be installed. I just had to copy the folder in question to the new computer and run it from there. If only all Windows apps could work like that!
I'm savvy enough to know that isn't always feasible, though. Many programs register handlers or system services, making a self-contained deployment all but impossible. I'd settled for more or less sucking it up until the day I discovered how to have a good percentage of the programs I use on a daily basis deployed in a self-contained way: by using PortableApps.
The idea behind PortableApps is ingenious. It's a combination application directory and program launcher, through which you can obtain specially packaged versions of a lot of common free-to-use and free-to-modify programs. The whole thing sits in a single directory, or can be run from a flash drive. You can move it to another computer or another drive by simply closing the running programs and copying the folder.
There are other useful things about PortableApps, both for users and administrators:
- The suite automatically updates all programs each time it's launched, or on demand.
- New apps are added to the suite constantly. Many of them are major-name apps.
- The programs themselves are just about indistinguishable from their full-install counterparts, except for a splash screen that appears on launch (and even that can be suppressed with a simple option).
- User data is stored with the suite. In addition, the way PortableApps packages applications, the app itself and the user data for the app are stored in separate subdirectories. The app can thus be upgraded without affecting user data in any way, and user data can be moved to another instance of PortableApps by simply copying files.
The single biggest drawback to PortableApps is the lack of management hooks. It's been written mainly for end users, rather than for deployments in a corporate environment, so things like centrally managing the applications available to the users (e.g., whitelisting or blacklisting) isn't really possible without some major hacking. But for an environment where there's a high turnover in the machines being used, or where you want as little fuss as possible when dealing with applications, it's just about right.