Installation (computer programs)


Installation of a computer program is the act of making the program ready for execution. Installation refers to the particular configuration of software or hardware with a view to making it usable with the computer. A soft or digital copy of the piece of software is needed to install it. There are different processes of installing a piece of software. Because the process varies for each program and each computer, programs often come with an installer, a specialised program responsible for doing whatever is needed for the installation. Installation may be part of a larger software deployment process.
Installation typically involves files containing program code and data being copied/generated from the installation to new files on the local computer for easier access by the operating system, creating necessary directories, registering environment variables, providing a separate program for un-installation etc. Because program files are generally copied/generated in multiple locations, uninstallation usually involves more than just erasing the program folder. For example, registry files and other system code may need to be modified or deleted for a complete uninstallation.

Overview

Some computer programs can be executed by simply copying them into a folder stored on a computer and executing them. Other programs are supplied in a form unsuitable for immediate execution and therefore need an installation procedure. Once installed, the program can be executed again and again, without the need to reinstall before each execution.
Common operations performed during software installations include:
Some installers may attempt to trick users into installing junkware such as various forms of adware, toolbars, trialware or software of partnering companies. To prevent this, extra caution on what exactly is being asked to be installed is needed. The installation of additional software then can simply be skipped or unchecked.
Such malicious conduct is not necessarily a decision by the software developers or their company but can also be an issue of external installers such as the Download.com installer by CNET.

Zero-install and portable applications

Some computer programs need no installation. This was once the standard for 8-bit and 16-bit systems where software was run from floppy disc and only a single application could be loaded at once, such as on the Apple II, PET, MS-DOS, and Macintosh 128K. As computing environments grew more complex and fixed hard drives replaced floppy disks, the need for tangible installation presented itself. For example Commodore released the Installer for Amiga.
The modern applications that can be run without going through formal process of installation and, in particular, do not require modifications of the operating system, are sometimes referred to as zero-install. Zero-install can be achieved through multiple means:
  • a standard solution is to collect the application and its components together, copy them to a fixed directory, and run from there.
  • a browser-based approach.
The Linux distribution GoboLinux takes a similar approach, but still introduces the side-effects of the traditional Linux installation to maintain the backward compatibility with the standard Linux directory layout. Isolation of the OS from any changes required by the application can also be achieved through the application virtualization tools, like VMware ThinApp, Microsoft App-V, InstallFree Bridge.
A class of modern applications that do not need installation and are located on a detachable storage device are known as portable applications, as they may be moved around onto different computers and run. Similarly, there are live operating systems, which do not need installation and can be run directly from a bootable CD, DVD, USB flash drive or loaded over the network as with thin clients. Examples are AmigaOS 4.0, various Linux distributions, MorphOS or Mac OS versions 1.0 through 9.0. Finally, web applications, which run inside a web browser, do not need installation.

Types

Custom installation

A custom installation allows the user to select which components of a software package to install. This is often preferred over a full installation when storage space is limited or when only certain features of the software are needed.

Attended installation

On Windows systems, this is the most common form of installation. An installation process usually needs a user who attend it to make choices, such as accepting or declining an end-user license agreement, specifying preferences such as the installation location, supplying passwords or assisting in product activation. In graphical environments, installers that offer a wizard-based interface are common. Attended installers may ask users to help mitigate the errors. For instance, if the disk in which the computer program is being installed was full, the installer may ask the user to specify another target path or clear enough space in the disk. A common misconception is unarchivation, which is not considered an installation action because it does not include user choices, such as accepting or declining EULA.

Silent installation

A "silent installation" is an installation that does not display messages or windows during its progress. "Silent installation" is not the same as "unattended installation" : All silent installations are unattended but not all unattended installations are silent. The reason behind a silent installation may be convenience or subterfuge. Malware and viruses can be installed silently when a person clicks on a link while working at a business they think is real but is a hacker's program download. For normal users silent installation is not of much use, but in bigger organizations where thousands of users work, deploying the applications becomes a typical task and for that reason silent installation is performed so that the application is installed in the background without affecting the work of the user. Silent parameters can vary from software to software; if a software/application has silent parameters, it can be checked by " /? " or " /help " or " -help ".
Silently installing a software program can be used to deploy a program on networks in educational institutions, including primary and secondary education and universities, in addition to business, government, and corporate networks. The person managing the silent installation can choose to add a desktop shortcut, for example, to silently install Google Drive with a desktop shortcut:
GoogleDrive.exe --silent --desktop_shortcut=true

Unattended installation

Installation that is performed without user interaction during its progress or with no user present at all. One of the reasons to use this approach is to automate the installation of a large number of systems. An unattended installation either does not require the user to supply anything or has received all necessary input prior to the start of installation. Such input may be in the form of command line switches or an answer file, a file that contains all the necessary parameters. Windows XP and most Linux distributions are examples of operating systems that can be installed with an answer file. In unattended installation, it is assumed that there is no user to help mitigate errors. For instance, if the installation medium was faulty, the installer should fail the installation, as there is no user to fix the fault or replace the medium. Unattended installers may record errors in a computer log for later review.

Headless installation

Installation performed without using a computer monitor connected. In attended forms of headless installation, another machine connects to the target machine and takes over the display output. Since a headless installation does not need a user at the location of the target computer, unattended headless installers may be used to install a program on multiple machines at the same time.

Scheduled or automated installation

An installation process that runs on a preset time or when a predefined condition transpires, as opposed to an installation process that starts explicitly on a user's command. For instance, a system administrator willing to install a later version of a computer program that is being used can schedule that installation to occur when that program is not running. An operating system may automatically install a device driver for a device that the user connects. Malware may also be installed automatically. For example, the infamous Con ficker was installed when the user plugged an infected device to their computer.

OEM installation

An installation performed by an original equipment manufacturer where software is pre-installed on a hardware device before it is sold. This type of installation is typically performed without end-user interaction, though the device's first boot may require the user to perform an initial system setup.

Clean installation

A clean installation is one that is done in the absence of any interfering elements such as old versions of the computer program being installed or leftovers from a previous installation. In particular, the clean installation of an operating system is an installation in which the target disk partition is erased before installation. Since the interfering elements are absent, a clean installation may succeed where an unclean installation may fail or may take significantly longer.