Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Installation (computer programs)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Process of making a computer program ready for execution}} {{Multiple issues|Software installation|collapsed=yes|section=y}} '''Installation''' (or '''setup''') of a [[computer program]] (including [[device driver]]s and [[plug-in (computing)|plugins]]), is the act of making the program ready for [[execution (computing)|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 (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]]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]] process.<ref>{{Cite journal |last1=Valente |first1=Andrea |last2=Marchetti |first2=Emanuela |date=2022-03-01 |title=Simplifying Programming for Non-technical Students: A Hermeneutic Approach |journal=KI - Künstliche Intelligenz |language=en |volume=36 |issue=1 |pages=17–33 |doi=10.1007/s13218-021-00748-0 |doi-access=free |issn=1610-1987 |pmc=8761527 |pmid=35068698 }}</ref> 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 variable]]s, 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 (computing)|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]] are met * Checking for existing versions of the software * Creating or updating program [[computer file|file]]s and folders * Adding configuration data such as [[configuration file]]s, [[Windows registry]] entries or [[environment variable]]s * Making the software accessible to the user, for instance by creating [[computer shortcut|links, shortcuts]] or [[bookmark (world wide web)|bookmarks]] * Configuring components that run automatically, such as [[Daemon (computing)|daemons]] or [[Windows service]]s * 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]], [[toolbar]]s, [[trialware]] or software of partnering companies.<ref name=avoid>{{cite web|last1=Hoffman|first1=Chris|title=How to Avoid Installing Junk Programs When Downloading Free Software|url=http://www.howtogeek.com/168691/how-to-avoid-installing-junk-programs-when-downloading-free-software/|publisher=HowToGeek|access-date=6 October 2015|date=27 July 2013}}</ref> 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).<ref name=avoid/><br/>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]].<ref>{{cite web|last1=Mathews|first1=Lee|title=Download.com wraps downloads in bloatware, lies about motivations|url=http://www.extremetech.com/computing/93504-download-com-wraps-downloads-in-bloatware-lies-about-motivations|publisher=ExtremeTech|access-date=6 October 2015|date=22 August 2011}}</ref> ==Zero-install and portable applications== 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 drive]]s replaced [[floppy disks]], the need for tangible installation presented itself. For example [[Commodore International|Commodore]] released the [[Installer (programming language)|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'''.{{sfn|Eicher|2011|p=5}} 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 (computing)|directory]], and run from there.{{sfn|Oliveira|Martín-Rodríguez|2006|p=6}} In the case of [[Windows OS]] this approach is occasionally referred to as an "[[xcopy]] deployment";{{sfn|Eicher|2011|p=5}} * a browser-based approach. The [[Linux]] distribution [[GoboLinux]] takes a similar approach (each applications gets its own directory structure), 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.{{sfn|Eicher|2011|p=11}} A class of modern applications that do not need installation and are located on a detachable storage device are known as ''[[portable application]]s'', 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]] [[Compact Disc|CD]], [[DVD]], [[USB flash drive]] or loaded over the network as with [[thin client]]s. Examples are [[AmigaOS]] 4.0, various [[Linux distribution]]s, [[MorphOS]] or Mac OS versions 1.0 through 9.0. (See [[live CD]] and [[live USB]].) Finally, [[web application]]s, which run inside a [[web browser]], 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]] 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]] (EULA), specifying preferences such as the installation location, supplying passwords or assisting in [[product activation]]. In graphical environments, installers that offer a [[wizard (software)|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]] 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.<ref>{{Cite web |date=2021-12-20 |title=What is a Silent Installation? |url=https://www.webopedia.com/definitions/silent-installation/ |access-date=2022-05-05 |website=Webopedia |language=en-US}}</ref><ref>{{Cite web |title=Silent Install Definition |url=https://techterms.com/definition/silent_install |access-date=2022-05-05 |website=techterms.com}}</ref> 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 " <software.exe> /? " or " <software.exe> /help " or " <software.exe> -help ". Silently installing a software program can be used to deploy a program on networks in educational institutions, including [[Primary education|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:<ref>{{Cite web |last=Bergner |first=Jason |title=Google Drive Silent Install (How-To Guide) |url=https://silentinstallhq.com/google-drive-silent-install-how-to-guide/ |access-date=2022-05-05 |website=Silent Install HQ |language=en-us}}</ref><syntaxhighlight lang="powershell"> GoogleDrive.exe --silent --desktop_shortcut=true </syntaxhighlight> ===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]] [[switch (command line)|switches]] or an ''answer file'', a file that contains all the necessary parameters. [[Windows XP]] and [[List of Linux distributions|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 data logging|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 (for instance, via a [[local area network]]) 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. (See [[plug and play]].) Malware may also be installed automatically. For example, the infamous Con ficker 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=== {{distinguish|Network booting}} Network installation, shortened net install, is an installation of a program from a [[Shared resource|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== {{redirect|Installer|the AmigaOS scripting language|Installer (programming language)}} {{Wiktionary|installer}} An ''installation program'' or ''installer'' is a [[computer program]] that installs files, such as [[Application software|applications]], [[Device driver|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 (installation)|software package]] to be installed. They exist both as "standalone installer" (or "offline installer") & "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: {{PMS vs Installer}} ===Bootstrapper=== During an installation of a [[computer program]], 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 small executable files which update 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 types=== {{Main|List of installation software}} Cross-platform installer builders produce installers that run on Windows, [[macOS]] and [[Linux]]. An example is [[InstallAnywhere]] by [[Flexera Software]], which is based on [[Java (programming language)|Java]]. An instance of native code is InstallAware Multi Platform by InstallAware Software, featuring build toolchains and a setup engine that runs without dependencies; it can also switch to console mode if a [[graphical user interface]] (GUI) cannot be displayed on Linux.<ref>{{cite web|url=https://sdtimes.com/software-development/installaware-improves-ides-visual-designers-and-setup-engine-in-multi-platform-beta-4/|title=InstallAware improves IDE’s visual designers and setup engine in Multi Platform Beta 4|website=[[Software Development Times]]|author-first=Jakub|date=18 April 2023|author-last=Lewkowicz|access-date=17 June 2024}}</ref> [[Windows NT family]] includes an installation [[API]] and an associated service called [[Windows Installer]]. [[Microsoft]] 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 Solutions, Inc.#Wise Installation Studio 7|Wise Installation Studio]] ([[Wise Solutions, Inc.]]), [[Installer VISE]] (MindVision Software), Visual Installer (SamLogic), [[Nullsoft Scriptable Install System|NSIS]], [[Clickteam]], [[InnoSetup]] and InstallSimple. InstallAware for Windows Installer features a hybrid installation engine, whereby a setup may be executed using either the Windows Installer APIs, or directly through InstallAware's native code setup engine. This hybrid engine also provides the capability to switch installation modes at runtime.<ref>{{cite web|url=https://sdtimes.com/installaware/new-installaware-x15-with-context-menu-bridge-for-windows-11/|title=New InstallAware X15 with Context Menu Bridge for Windows 11|date=21 March 2022|website=[[Software Development Times]]|location=[[San Francisco]], CA|access-date=17 June 2024}}</ref><ref>{{cite web|url=https://www.techrepublic.com/article/five-apps-for-creating-installation-packages/|title=Five apps for creating installation packages|website=[[TechRepublic]]|author-first=Matthew|author-last=Nawrocki|date=21 June 2013|access-date=17 June 2024}}</ref> macOS includes [[Installer (macOS)|Installer]], a native [[package manager]]. macOS also includes a separate software updating application, [[Apple Software Update|Software Update]], that only supports Apple and system software. Included in the [[Dock (macOS)|Dock]] as of 10.6.6, and also in the [[Apple menu]], the [[Mac App Store]] shares many attributes with the successful [[App Store (iOS)|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 the App Store is Apple's preferred delivery method for macOS apps,<ref>{{cite web|url=https://www.apple.com/mac/app-store/great-mac-apps.html|title=macOS - What is macOS|website=Apple|access-date=5 April 2018}}</ref> previously purchased licenses cannot be transferred to the Mac App Store for downloading or automatic updating. Instead of an installer, many macOS applications distributed outside the Mac App Store use an [[Apple Disk Image]] (.dmg file) that contains an [[application bundle]] to be [[drag-and-drop|dragged and dropped]] into the Applications folder; those applications are described as drag-install applications. These often feature prominent installation instructions and a shortcut to the Applications folder; that style of drag-install application was invented and published by Iris Artin (formerly Ben Artin) during the development of [[Fetch (FTP client)|Fetch 5]]<ref>{{cite web|url=http://www.macdevcenter.com/pub/a/mac/2005/09/02/easy-access-to-application-folder-from-a-disk.html|title= Easy Access to the Applications Folder from a Disk Image|website=Mac Dev Center|archive-url= https://web.archive.org/web/20051214033213/http://www.macdevcenter.com/pub/a/mac/2005/09/02/easy-access-to-application-folder-from-a-disk.html|access-date=23 November 2023|archive-date= 2005-12-14}}</ref> and subsequently gained wide adoption. Commercial applications for macOS may also use a third-party installer, such as the Mac version of [[Installer VISE]] (MindVision Software) or InstallerMaker ([[StuffIt]]). ==={{Anchor|SYSTEM-INSTALLER}}System installer=== A ''system installer'' is the software that is used to set up and install an operating system onto a device. [[Windows Setup]] is the system installer of Microsoft Windows. Examples of Linux system installers: * [[Anaconda (installer)|Anaconda]]: used by [[CentOS]], [[Fedora (operating system)|Fedora]] * [[Calamares (software)|Calamares]]: used by multiple Linux distributions (incl. some Ubuntu flavors, Debian, and derivates) * [[Debian-Installer]] ("D-I"): classic [[Debian]] installer (textual and graphical<ref>[https://wiki.debian.org/DebianInstaller/GUI Debian Wiki: Debian Installer GUI]</ref> interfaces) * [https://github.com/canonical/subiquity Subiquity] Ubuntu Server installer * [[Ubiquity (software)|Ubiquity]]: [[Ubuntu]] Desktop installer (until 22.10) * [https://github.com/canonical/ubuntu-desktop-installer Ubuntu Desktop Installer]: current [[Ubuntu]] Desktop installer (starting 23.04) * [[YaST]] for [[SUSE S.A.|SUSE]]-based projects Another example is found in the [[Haiku (operating system)|Haiku]] operating system, which uses a utility called [[Haiku Applications#Installer|Haiku Installer]] to install itself onto a device after booting from a [[live CD]] or [[live USB]]. ==See also== * [[Application streaming]] * [[Application virtualization]] * [[Pre-installed software]] * [[Self-extracting archive]] * [[Software distribution]] * [[Uninstaller]] ==References== {{Reflist|30em}} == Sources == * {{cite web |last1=Oliveira |first1=D. |last2=Martín-Rodríguez |first2=Fernando |title=EDNA: A Safe, Evolvable, Multi-version and On-demand Deployment System for GNU/EDMA Applications |url=https://www.researchgate.net/publication/267972035 |date=2006}} * {{cite thesis |last1=Eicher |first1=Bastian |title=Desktop Integration Management for Portable, Zero-Install and Virtualized Applications |date=2006 |publisher=[[Karlsruhe Institute of Technology]] |department=Department of Computer Science |degree=BS |url=https://os.itec.kit.edu/downloads/ba_2011_eicher-bastian_desktop-integration-management.pdf}} * {{cite thesis |last1=Eicher |first1=Bastian |title=Desktop Integration Management for Portable, Zero-Install and Virtualized Applications |date=2011 |publisher=[[Karlsruhe Institute of Technology]] |department=Department of Computer Science |degree=BS |url=https://os.itec.kit.edu/downloads/ba_2011_eicher-bastian_desktop-integration-management.pdf}} {{Authority control}} [[Category:Installation software| ]] [[Category:Package management systems| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Authority control
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite thesis
(
edit
)
Template:Cite web
(
edit
)
Template:Distinguish
(
edit
)
Template:Main
(
edit
)
Template:Multiple issues
(
edit
)
Template:PMS vs Installer
(
edit
)
Template:Redirect
(
edit
)
Template:Reflist
(
edit
)
Template:Sfn
(
edit
)
Template:Short description
(
edit
)
Template:Wiktionary
(
edit
)