Installation (or setup) of a program (including drivers) is the act and the effect of putting the program in a computer system so that it can be executed.
Most programs are supplied in a condensed form intended for sale and distribution. In order to be used, they must be 'unpacked' and the relevant information placed correctly on the computer, taking account of variations between computers, and any customized settings required by the user. During installation, various tests are made of system suitability, and the computer is configured to store the relevant files and any necessary settings required for that program to operate correctly.
Because the requisite process varies for each program and each computer, many programs (including operating systems) come with a general-purpose or dedicated installer – a specialized program which automates most of the work required for their installation.
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 of MS-DOS, MacOS, Atari TOS, AmigaOS since early versions of these operating systems and actually it is very common and "de facto" standard in Mac OS X applications and is also used for many Windows applications. Operating systems also exist which don't require installation, and can therefore be run directly from a bootable CD, DVD, or USB drive, without affecting other operating systems installed on the machine. An example is AmigaOS 4.0, Knoppix Linux, MorphOS AmigaOS clone, or Mac OS 1-9.
The term then naturally extends to plugins, device drivers and software files which are not by themselves programs.
Common operations performed during software installations include creation or modification of:
Some jargon expressions
- Installation that does not display messages or windows during its progress. "Silent installation" is not a synonym of "unattended installation", though it is often improperly used as such.Unattended installation
- Installation that is performed without user interaction during its progress or, in a stricter sense, with no user present at all, except eventually for the initial launch of the process. An installation process usually requires a user who "attends" it to make choices at request: accepting an EULA, specifying preferences and passwords, etc. In graphical environments, installers that offer a wizard-based interface are common. However these installers may also provide command line switches that allow performing unattended installations. Some unattended installation can be driven by a script providing answers to the various choices such as the answer file which can be used when installing Microsoft Windows on a large number of machines.Self installation
- Unattended installation, without the need of initial launch of the process (i.e. Vodafone Mobile Connect USB Modem or Huawei E220's Mobile Partner software that self-installs from the USB port).Headless installation
- Installation performed without using a monitor connected to the destination computer (in particular, on a computer with no video output at all). This can be an (attended) installation performed from another machine connected via LAN or via a serial cable.
- Unattended and headless installations are common tasks for system administrators.Clean installation
- Given the complexity of a typical installation there are many factors that may interfere with its successful completion. In particular files that are leftover from old installations of the same program or an unstable situation of the operating system may all act to prevent a given program from installing and working correctly. An installation performed in absence of such interfering factors (which may vary from program to program) is called a clean installation. In particular, a clean operating system installation can be performed by formatting its destination partition before the actual installation process.Flat installation
- An installation of a program performed from a copy (called a flat copy) of its original media contents (mostly CDs or DVDs) to a hard drive, rather than directly from the media. This may help in some situations where the target machine isn't able to cope with random access reads from CD/DVD at the same time as performing the CPU-intensive tasks often required by an installation.Virtual installation
- AmigaOS features a centalized standard installation utility called Installer since version 2.0 in 1991. It is driven by a LISP language interpreter, and users have the faculty of editing the installation scripts as these are plain text files. Installer also features the unsurpassed chance for users to perform virtual installations and verify any possible problem before committing the real installation.
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:
A currently popular format for Microsoft Windows is the MSI installation package, which is installed by Windows Installer. Companies making tools for creating installers for Windows include InstallShield, Macrovision's InstallAnywhere, Wise and ScriptLogic Corporation (Formerly MaSaI Solutions). Most of these tools can create MSI packages as well as their own proprietary executables.
Free alternatives include NSIS, Clickteam, InnoSetup and a tool from Microsoft called WiX. Java projects will also be interested in the open source IzPack which allows generation of cross-platform installers.
Mac OS X has an application called Installer bundled with it. However, this is not technically an installer (see table above), but a Package Manager. Some commercial applications for Mac OS X use a custom installer, often Installer VISE or Stuffit InstallerMaker. Applications that do not need to install additional system components can be installed by moving the application files to a desired location on a hard drive; this is known as "drag-and-drop installation" and no installer software is needed. Mac OS X also includes a separate software updating application, Software Update (also known by its shell command, "softwareupdate") but only supports Apple and system software.
An installation program on a CD is often designed to run automatically when inserted into the optical disc drive.
As a compromise between the Windows installer concept and the package management systems of UNIX-like systems, Windows installation management systems exist. Many of these form a part of systems management software, and (in some cases open source) alternatives exist to these. On the other hand, Nixstaller is a tool to easily make installers for Unix-like systems.