Installation (computer programs)
   HOME

TheInfoList



OR:

Installation (or setup) of a
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer progra ...
(including
device driver In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
s and
plugins Plug-in, plug in or plugin may refer to: * Plug-in (computing) is a software component that adds a specific feature to an existing computer program. ** Audio plug-in, adds audio signal processing features ** Photoshop plugin, a piece of software t ...
), is the act of making the program ready for
execution Capital punishment, also known as the death penalty, is the state-sanctioned practice of deliberately killing a person as a punishment for an actual or supposed crime, usually following an authorized, rule-governed process to conclude that t ...
. Installation refers to the particular configuration of a software or hardware with a view to making it usable with the computer. A soft or digital copy of the piece of software (program) is needed to install it. There are different processes of installing a piece of software (program). Because the process varies for each program and each computer, programs (including
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s) often come with an ''installer'', a specialised program responsible for doing whatever is needed (see below) for the installation. Installation may be part of a larger
software deployment Software deployment is all of the activities that make a software system available for use. The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur on the p ...
process. Installation typically involves code (program) being copied/generated from the installation files to new files on the local computer for easier access by the operating system, creating necessary directories, registering
environment variable An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP env ...
s, providing separate program for un-installation etc. Because code is 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: * Making sure that necessary
system requirements To be used efficiently, all computer software needs certain hardware components or other software resources to be present on a computer. These prerequisites are known as (computer) system requirements and are often used as a guideline as opposed ...
are met * Checking for existing versions of the software * Creating or updating program files and folders * Adding configuration data such as
configuration file In computing, configuration files (commonly known simply as config files) are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system ...
s, Windows registry entries or
environment variable An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs. For example, a running process can query the value of the TEMP env ...
s * Making the software accessible to the user, for instance by creating links, shortcuts or
bookmarks A bookmark is used to keep one's place in a printed work. It can also refer to: * Bookmark (digital), a pointer in a web browser and other software * ''Bookmarks'' (album) by Five for Fighting * ''Bookmarks'' (magazine), an American literary ma ...
* Configuring components that run automatically, such as daemons or Windows services * Performing product activation * Updating the software versions These operations may require some charges or be free of charge. In case of payment, installation costs means the costs connected and relevant to or incurred as a result of installing the drivers or the equipment in the customers' premises. Some installers may attempt to trick users into installing junkware such as various forms of
adware Adware, often called advertising-supported software by its developers, is software that generates revenue for its developer by automatically generating online advertisements in the user interface of the software or on a screen presented to the ...
,
toolbar The toolbar, also called a bar or standard toolbar (originally known as ribbon) is a graphical control element on which on-screen icons can be used. A toolbar often allows for quick access to functions that are commonly used in the program. Some ...
s, 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 (this may require the user to use the "custom", "detailed" or "expert" version of the installation procedure).
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.


Necessity

As mentioned earlier, some computer programs need no installation. This was once usual for many programs which run on DOS, the classic Mac OS, Atari TOS and AmigaOS. 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 Amiga is a family of personal computers introduced by Commodore International, Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and sign ...
. A class of modern applications that do not need installation are known as '' portable applications'', as they may be roamed 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 A USB flash drive (also called a thumb drive) is a data storage device that includes flash memory with an integrated USB interface. It is typically removable, rewritable and much smaller than an optical disc. Most weigh less than . Since fir ...
or loaded over the network as with thin clients. Examples are AmigaOS 4.0, various
Linux distribution A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading on ...
s, MorphOS or Mac OS versions 1.0 through 9.0. (See
live CD A live CD (also live DVD, live disc, or live operating system) is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading f ...
and live USB.) Finally,
web application A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
s, which run inside a
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
, do not need installation.


Types


Custom installation

A custom installation allows the installer to choose to select components or parts that are required to be installed. This is sometimes preferred as opposed to installing the full suite of software components. Some situations that require the need for a custom install might be where only the basic components are required which are smaller in size instead of the full components which may take up too much hard drive space.


Attended installation

On
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
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 An end-user license agreement or EULA () is a legal contract between a software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware ...
(EULA), 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" (see below): All silent installations are unattended but not all unattended installations are silent. The reason behind a silent installation may be convenience or subterfuge.
Malware Malware (a portmanteau for ''malicious software'') is any software intentionally designed to cause disruption to a computer, server, client, or computer network, leak private information, gain unauthorized access to information or systems, de ...
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 Secondary education or post-primary education covers two phases on the International Standard Classification of Education scale. Level 2 or lower secondary education (less commonly junior secondary education) is considered the second and final ph ...
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 In electrical engineering, a switch is an electrical component that can disconnect or connect the conducting path in an electrical circuit, interrupting the electric current or diverting it from one conductor to another. The most common type ...
or an ''answer file'', a file that contains all the necessary parameters.
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
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 A computer monitor is an output device that displays information in pictorial or textual form. A discrete monitor comprises a visual display, support electronics, power supply, housing, electrical connectors, and external user controls. The ...
connected. In attended forms of headless installation, another machine connects to the target machine (for instance, via a
local area network A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building. By contrast, a wide area network (WAN) not only covers a larger ...
) 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 A system administrator, or sysadmin, or admin is a person who is responsible for the upkeep, configuration, and reliable operation of computer systems, especially multi-user computers, such as servers. The system administrator seeks to en ...
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. (See plug and play.) Malware may also be installed automatically. For example, the infamous Conficker was installed when the user plugged an infected device to their computer.


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.


Network installation

Network installation, shortened netinstall, is an installation of a program from a shared network resource that may be done by installing a minimal system before proceeding to download further packages over the network. This may simply be a copy of the original media but software publishers which offer site licenses for institutional customers may provide a version intended for installation over a network.


Installer

An ''installation program'' or ''installer'' is a
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer progra ...
that installs files, such as applications, drivers, or other
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
, 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 Software package may refer to: * Package (package management system), in which individual files or resources are packed together as a software collection that provides certain functionality as part of a larger system * Software suite, which provid ...
to be installed. They exist both as "standalone installer" (or "offline installer") and "web installer" (or "online installer"), where the former allows for offline installation as it contains all installation files, whereas the latter needs to download files necessary for installation from the web at the time of installation. The differences between a package management system and an installer are:


Bootstrapper

During an installation of a
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer progra ...
, it is sometimes necessary to update the installer or
package manager A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner. A package manager deals w ...
itself. To make this possible, a technique called
bootstrapping In general, bootstrapping usually refers to a self-starting process that is supposed to continue or grow without external input. Etymology Tall boots may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers ...
is used. The common pattern for this is to use small executable files which update the installer and starts the real installation after the update. This small
executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data fil ...
is called bootstrapper. Sometimes the bootstrapper installs other prerequisites for the
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
during the bootstrapping process too.


Common types

Cross-platform installer builders produce installers that run on Windows,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
. An example is InstallAnywhere by Flexera Software. Windows NT family includes an installation API and an associated service called
Windows Installer Windows Installer (msiexec.exe, previously known as Microsoft Installer, codename Darwin) is a software component and application programming interface (API) of Microsoft Windows used for the installation, maintenance, and removal of softwar ...
.
Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
provides a minimum level of tools required to create installers using Windows Installer in the freely available Windows SDK, instead focusing on the API to allow developers and third parties to leverage it in creating custom installers. Third party tools may supporting create installers using this API to speed the process. Examples include InstallShield ( Flexera Software) and WiX ( Outercurve Foundation). Installation authoring tools that do not rely on Windows Installer include Wise Installation Studio (
Wise Solutions, Inc. Wise Solutions, Inc. started by John McMillan and Brien Witkowski was an American company that made software tools for creating application installers. Their primary product, Wise was one of the most widely used installation packages for Windows. ...
),
Installer VISE Installer VISE was an installer maker that supported Mac OS 9, Mac OS X, and Windows by MindVision Software. Steve Kiene, the founder of MindVision, had done software work in the area of data compression, producing the Application VISE executa ...
(MindVision Software),
Visual Installer Visual Installer is a setup tool developed by SamLogic that can be used to create installation programs and setup packages for the Microsoft Windows platform. Both client and server versions of Windows is supported by the tool. The first version o ...
(SamLogic), NSIS,
Clickteam Clickteam is a French software development company based in Boulogne-Billancourt, Hauts-de-Seine. Founded by Francis Poulain, François Lionet and Yves Lamoureux, Clickteam is best known for the creation of Clickteam Fusion, a script-free pro ...
, InnoSetup and InstallSimple. macOS includes Installer, a native
package manager A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner. A package manager deals w ...
. macOS also includes a separate software updating application,
Software Update A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually being called bugfixes or bug fixes. Patche ...
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 macOS, previously purchased licenses can not be transferred to the Mac App Store for downloading or automatic updating. Commercial applications for macOS may also use a third-party installer, such as Mac version of
Installer VISE Installer VISE was an installer maker that supported Mac OS 9, Mac OS X, and Windows by MindVision Software. Steve Kiene, the founder of MindVision, had done software work in the area of data compression, producing the Application VISE executa ...
(MindVision Software) or InstallerMaker ( StuffIt).


System installer

A ''system installer'' is the software that is used to set up and install an operating system onto a device. Examples of system installers on Linux are
Ubiquity Ubiquity is a synonym for omnipresence, the property of being present everywhere. Ubiquity may also refer to: * Ubiquity (software), a simple graphical installer made for the Ubuntu operating system * Ubiquity (Firefox), an experimental extens ...
and Wubi for Ubuntu, Anaconda for CentOS and Fedora, Debian-Installer for
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
-based versions of
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, and YaST for
SUSE SUSE ( , ) is a German-based multinational open-source software company that develops and sells Linux products to business customers. Founded in 1992, it was the first company to market Linux for enterprise. It is the developer of SUSE Linux En ...
-based projects. Another example is found in the
Haiku is a type of short form poetry originally from Japan. Traditional Japanese haiku consist of three phrases that contain a ''kireji'', or "cutting word", 17 ''On (Japanese prosody), on'' (phonetic units similar to syllables) in a 5, 7, 5 pattern, ...
operating system, which uses a utility called Haiku Installer to install itself onto a device after booting from a
live CD A live CD (also live DVD, live disc, or live operating system) is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading f ...
or live USB.


See also

*
Application streaming Application streaming is a form of on-demand software distribution. In these scenarios, only essential portions of an application's code need to be installed on the computer: while the end user performs actions in the application, the necessary co ...
* Application virtualization * Pre-installed software * Self-extractable archive * Software distribution * Uninstaller


References

{{DEFAULTSORT:Installation (computer programs)