Installable vs Portable Softwares
Developers of software applications deploy their products mostly through media such as CD/DVD or through internet. Depending on the type of software, the user has to perform one or more tasks before being able to run the software application. Sometimes, the users can run an application simply by copying the supplied program files to an appropriate folder, but others require the user to install the software by running the automated software installer program first. Typically, based on this difference, software applications are categorized as Installable or Portable software. Having no formal installation process was the standard on Mac OS X, sometime back. There are even some operating systems such as AmigaOS 4.0 and Mac OS X 1-9 that can be run directly from removable media.
What is Installable Software?
Installable software applications need to be ‘installed’ on the computer by the user of the software, to make it run. Installation is the process of putting all the files (including drivers, plug-ins, etc.) in the appropriate locations of the computer, so that it could be executed by the user. But, because the number and types of files that should be placed for installing varies for each program, most of them come with an installer (which is special program that automates the process of installation). If this is the case, the user only has to execute the installer of the program without worrying about anything else.
Typically the installer may unpack the program files included in some compressed form, copy them to specified paths (folders), make sure that the software is suited to the system hardware, inform the operating system about the newly installed program, etc. Other common operations such as creating and modifying shared and private system files, creating folders, updating windows registry entries, inserting entries in to configuration files, updating environment variables and creating shortcuts are performed by most of the software installers. Furthermore, the system suitability for the program and the available space on the system may also be checked by the installer. After the installer completes its execution (finishes all its installation tasks), the software is ready to be run by the user. Typically, installable software applications can be run as many times as the user wants (without installing again), as long as the user does not remove one or more files (that were installed during the installation process) accidentally or manually.
What is Portable Software?
Portable software (portable applications) are programs that are able to run by itself without depending on the operating system. They are also called standalone computer software programs. Because of this portability, these types of applications are often kept on and run from removable storage media (i.e. external hard disk drives, CD, DVD, USB thumb drives or floppy disks). All the supplementary program files, configuration files and related data are stored on the media itself. Although portable software can be executed on any kind of machine, they do require a certain operating system. But, portability is a difficult concept to be implemented depending on the specific operating system. For example, all applications are portable (by definition) on AmigaOS operating system. On Windows, those programs that do not require installation are often referred to as portable software. But, it is important to note that software portability (compiling source code for suiting different platforms) is a different idea from developing portable applications.
What is the difference between Installable Software and Portable Software?
Installable software applications typically create shortcuts automatically, but the user has to manually create shortcuts for portable software applications as they do not create them for you. Installable software applications may create new files or folders in locations unknown to the user. But sometimes, when the user uninstalls the application, some of those files or folders are not completely removed (and the user typically has to find them and delete them manually to clean up, because they may take unnecessary space on the computer’s hard drive). On the other hand, portable software usually stays on their own folder and does not spread the files or folders to other locations in the computer. This means, that uninstalling (removing) portable applications is much easier (all the user has to do is delete the corresponding folder and its contents) than uninstalling installable software applications.
Sometimes it is advantageous for users having dual or triple boot systems to use portable software applications than installable software applications, because with portable software the user does not have to install it again in the second or the third operating system (so the user settings will be preserved). But for all the installable software applications, the user has to install it again in other operating systems and all the user settings will be lost. Similarly, if the user wants to run the same installable software in another computer, she has to reinstall the application on that computer (thus loosing all the user settings stored on the first computer). However, portable software can be easily transferred from one computer to another computer through a removable media such as a flash drive, and the user setting will be transferred as well. This is actually the main reason why they are called ‘portable’ software applications.
So, if the need is to install the software in just one computer or operating system, installable software will work for you, but if you plan to carry the application where ever you go, portable applications must be the preferred choice. But it is important to have external or removable devices with acceptable I/O speeds to effectively use portable applications to their fullest potential (for example, an external hard disk drive should be used instead of USB drives for large portable applications). Furthermore, if you want to use online back up systems (such as DropBox) you can easily transfer the latest version (with updated settings etc.) of your portable applications from your desktop machine to your laptop. This is never an option with installable software.