Installation (or setup) of a program (including drivers, plugins, etc.) is the act of putting the program onto a computer system so that it can be executed.
Because the requisite process varies for each program and each computer, many programs (including operating systems) come with a general-purpose or dedicated installation program called an installer–a specialized program which automates most of the work required for their installation.
Contents |
Some software can be executed by simply copying it to a computer and executing it with no further ado; no installation procedure as such is required. Other programs are supplied in a form not suitable for immediate execution, and require an installation procedure. Installation may include unpacking of files supplied in a compressed form, copying them to suitable locations, tailoring the software to suit the hardware and the user's preferences, providing information about the program to the operating system, and so on. The installer may test for system suitability and available mass storage space.
Some software is designed to be installed simply by copying their files to the desired location, and there is no formal installation process. This was once usual for many programs running under MS-DOS, Mac OS, Atari TOS, and AmigaOS. This is the de facto standard in Mac OS X applications and is also used for many Windows applications. Windows applications that do not require installation are often times called "portable," as they do not require an installation to run, and may be run for many different computers with only the executable. There are versions of some operating systems which do not require installation and can be run directly from a bootable CD, DVD, or USB drive. This allows one to test out the operating system without altering the existing setup. Examples are AmigaOS 4.0, different Linux distribution, MorphOS AmigaOS clone, or Mac OS 1-9.
Installation usually implies that once installed, the program can be executed again and again, without the need to reinstall before each execution. Some software does not need installation at all. There is server-based software that mimics locally-installed software, and can be run inside of a web browser, using only the local system's cache. This allows portability among computers with access to the server. This technique is often referred to as cloud computing.
Common operations performed during software installations include creation or modification of:
An installation program or installer is a computer program that installs files, such as applications, drivers, or other software, onto a computer. Some installers are specifically made to install the files they contain; other installers are general-purpose and work by reading the contents of the software package to be installed.
The differences between a package management system and an installer are:
Package Management System | Installer |
---|---|
Typically part of the operating system. | Each product comes bundled with its own installer. |
Uses a single installation database. | Performs its own installation, sometimes recording information about that installation in a registry. |
Can verify and manage all packages on the system. | Only works with its bundled product. |
Single package management system vendor. | Multiple installer vendors. |
Single package format. | Multiple installation formats. |
During the installation of computer programs it is sometimes necessary to update the installer or package manager itself. To make this possible, a technique called bootstrapping is used. The common pattern for this is to use a small executable file (e.g. setup.exe) which updates the installer and starts the real installation after the update. This small executable is called bootstrapper. Sometimes the bootstrapper installs other prerequisites for the software during the bootstrapping process too.
Cross platform installer builders that produce installers for Windows, Mac OS X and Linux include InstallAnywhere (Flexera Software), JExpress (DeNova),[1] and InstallBuilder (BitRock Inc.).
Installers for Microsoft Windows include Windows Installer, a software installation component. Additional third party commercial tools for creating installers for Windows include InstallShield (Flexera Software), Advanced Installer (Caphyon Ltd),[2] InstallAware (InstallAware Software),[3] Wise Installation Studio (Wise Solutions, Inc.), SetupBuilder (Lindersoft, Inc.),[4] Installer VISE (MindVision Software), MSI Studio (ScriptLogic Corporation), Actual Installer (Softeza Development),[5] Smart Install Maker (InstallBuilders Company),[6] MSI Factory and Setup Factory (Indigo Rose Software), Centurion Setup (Gammadyne Corporation).[7] Free installer-authoring tools include NSIS, IzPack, Clickteam, InnoSetup, InstallSimple and WiX.
Mac OS X includes Installer, a native Package Manager software. Mac OS X also includes a separate software updating application, Software Update but only supports Apple and system software. Included in the dock as of 10.6.6, the Mac App Store shares many attributes with the successful App Store for iOS devices, such as a similar app approval process, the use of Apple ID for purchases, and automatic installation and updating. Although this is Apple's preferred delivery method for Mac OS X,[8] previously purchased licenses can not be transferred to the Mac App Store for downloading or automatic updating. Commercial applications for Mac OS X may also use a third-party installer, such as Mac version of Installer VISE (MindVision Software) or InstallerMaker (StuffIt).