Portable Windows applications have gained much popularity lately (which is kind of ironic, since originally all programs where pretty much portable). But what is a portable application? In this simple guide I will try to examine what a portable application is, show advantages and disadvantages, and point you towards how to find them.
Defining features
There is no exact specification of what a portable application is, but the following list contain the properties that are usually assumed when talking about portable software:
- No installation. The program is delivered in a zip archive that you only need to extract into a folder of your choice (the “program folder” below) to “install” the program.
- This program folder contains everything needed to run the application. No files need to be installed on the host computer first. The exception to this are common runtime files, such as .Net, Java and Visual Basic runtimes, that are usually already installed and in a sense can be seen as part of the runtime environment that everyone already have.
- All application settings are saved inside the program folder. Thus if the program folder is moved, settings come along too.
- The application does not save or change anything on the host computer outside its program folder. This includes the Windows registry.
Advantages
- A portable software can easily be moved between different computers by just copying the program folder, since no installation is required and all settings are contained within this folder. Basically you can keep all your software (and data) on a USB stick and this is all you need to bring along you complete computing environment! This is the origin of the name “portable” itself.
- All computer users should backup their data. Unfortunately this is often overlooked or performed irregular. With portable software you can essentially store all your programs (as well as your other data) in a single folder. This makes it very easy to backup (and recover if needed).
- Buying a new computer is often a bittersweet experience. The joy of the new computer is soiled by the large amount of configuration required to get everything up and running again. Portable software makes this faster since you at least do not have to worry about your applications; just copy your software folder and perhaps create a few shortcuts and you are ready to go!
- Cloud computing is the future. All your settings are stored online and eventually all programs run inside the web browser! While this is a nice idea in theory, there are many potential problems and privacy issues attached.
Who owns your files? Where in the world (i.e. under what legal jurisdiction) are the servers located? What happens if the hosting company goes under or decides to stop providing their service? Will you even be able to export you data before they shut down? What if you don’t have online connectivity? What if the servers are hacked or an employee snoops around on the servers? What if an automated system wrongly accuses you of contraband and shuts down access to your account? What if the servers crash and it turns out the backup system was not very reliable or correctly configured?
All of these scenarios have happened before and will happen again! As you can see, “the cloud” is not as idealistic as it is often portrayed. With portable applications you are in control of your data, applications and settings (but also responsible for it!).
- Windows is knows for getting slower and slower the longer you use it. A contributing factor is what is sometimes called “Windows Rot”. Over time, as programs are installed and used, they tend to “pollute” the system in various way. Since portable software do not alter the system they can help keeping your computer fresh for a longer time!
- Privacy concerned individuals will appreciate the ability to use their programs on a computer without any traces left behind.
- Protected systems that prohibit installation of software might still allow you to run portable applications(!).
Disadvantages
- Not all programs are available as portable packages. This is especially true for larger “commercial” software (as opposed to software by smaller independent developers).
- Some features may not be available or different compared to a normal installation. This is typically due to the need of registering files in the system or making other changes on the host system in order for the feature to work.
- Some programs make changes or save files on the host system that are reverted/remove upon exit. In my opinion this is not true portability, but since it may be required for the program to work or even be meaningful it may be the best alternative available.
- Some programs may leave traces, such as files in the temp folder. This is usually not a big deal, but if you are concerned with privacy it may be best to trace what the application is doing first. Also, built in automatic Windows features might record data about applications, for example to keep a “recent applications” list.
- You should not use Windows’ built in solutions to backup your portable software. By design it decides on its own what files to backup, and will not backup “all files” even if you tell it to(!). Program files are not considered being user data and thus excluded.
How to find portable software
- Many software developers already provide portable versions of their software (including me). The installer version is usually the default download, but look for alternative downloads and you’ll often find portable zip distributions too!
- Two very good site for finding portable software are The Portable Freeware Collection and Portable Apps. In addition Lupo PenSuite and PendriveApps might also be worth checking out, although I have no personal experience of these sites.
- Many smaller and/or open source programs are actually already portable, even though they do not explicitly say so. Program that are delivered zip files where settings are saved in a file in the program folder are likely more or less portable already! Even if a program is only available with an installer, using Universal Extractor can often extract the program files so you don’t have to install it normally!
- Some programs contain more or less hidden settings that make it portable. Search the documentation, online forums and command line options to find such settings. For example by creating a file called setting.dat in the same folder as uTorrent.exe, this program will save its settings there instead of the default location somewhere deep in the system.
- Create portable installations of program you already have. This can be achieved with software that can analyze and capture application data and “wrap” a program in a portable shell. This is called Application Virtualization
- Some people go about and re-package popular commercial software as portable versions and make them available on blogs, download site and BitTorrent networks. Unfortunately many of these contains malware of various kinds, so be careful and read comments and scan for malware before running!
I’ll end with a little tip: If you are only interested in not polluting your system with program installations, but still want to download and try new software, you can use Sandboxie to create a sealed sandbox environment to run your programs in, preventing them from harming or modifying your system. This gives you no “portability” though, but I find it to be a great way to try new software, when running suspicios software or if I know I will only use a program one or two times. Combine with Universal Extractor and you often don’t even have to run the installer!
Pingback: Portability | Software Portability
Pingback: Try a new PDF reader and you’ll never go back to Adobe Reader! | RLV Blog
Pingback: Get a zero-installation SQL database for learning or dabbling | RLV Blog
Pingback: Uninstall DuckDuckGo Windows 10, Firefox, Chrome, Opera and Safari (Mac) | iWinPage
Some portable tools do behave better than others.
For example: On the PortableApps website you can get a portable version of FireFox.
While that works fine if you are the sole user of the computer you use this on, it becomes problematic when you want to use this on an multi-user system. I am not talking about a single user with multiple user accounts om his/her PC, an actual multi-user system.
There are many examples more of this. A lot of portable software can be used just fine on multi-user systems, but the ones that don’t seriously dampen the fun to be had with portable software.
Those experiences always make me add that portable software is the way to to go, but only for single-user systems.