Installation (computer programs)

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

Overview

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:

Type of Installations

Silent installation
Installation that does not display messages or windows during its progress. "Silent installation" is not the same as "unattended installation", though it is often improperly termed 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.
Answer file
Some unattended installations 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, or where the target machine does not have an appropriate physical drive.
Network Installation
An installation of a program from a shared network drive. This may simply be a copy of the original media (as in a Flat Installation), but frequently, software publishers which offer site licenses for institutional customers provide a version intended for installation over a network.
Virtual installation
AmigaOS features a centralized 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.

Installer

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.

Bootstrapper

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.

Common installers

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).

See also

References

External links