Installation (computer programs)

Last updated

Installation (or setup) of a computer program (including device drivers and plugins), 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 (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 systems) 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. [1]

Contents

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 variables, providing a 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:

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, toolbars, trialware or software of partnering companies. [2] 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). [2]
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. [3]

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 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. [4] Zero-install can be achieved through multiple means:

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. [6]

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. (See live CD and live USB.) Finally, web applications, 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-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. [7] [8] 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 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 [9] :

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 (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

Network installation, shortened net install, 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 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.

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:

CriterionPackage managerInstaller
Shipped withUsually, the operating systemEach computer program
Location of installation informationOne central installation databaseIt is entirely at the discretion of the installer. It could be a file within the app's folder, or among the operating system's files and folders. At best, they may register themselves with an uninstallers list without exposing installation information.
Scope of maintenancePotentially all packages on the systemOnly the product with which it was bundled
Developed byOne package manager vendorMultiple installer vendors
Package format A handful of well-known formats There could be as many formats as the number of apps
Package format compatibilityCan be consumed as long as the package manager supports it. Either newer versions of the package manager keep supporting it or the user does not upgrade the package manager.The installer is always compatible with its archive format, if it uses any. However, installers, like all computer programs, may be affected by software rot.

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

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. 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. [10]

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 Installation Studio (Wise Solutions, Inc.), Installer VISE (MindVision Software), Visual Installer (SamLogic), 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. [11] [12]

macOS includes Installer, a native package manager. macOS also includes a separate software updating application, Software Update, that only supports Apple and system software. Included in the Dock as of 10.6.6, and also in the Apple menu, 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 the App Store is Apple's preferred delivery method for macOS apps, [13] 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 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 5 [14] 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).

System installer

A system installer is the software that is used to set up and install an operating system onto a device.

Examples of Linux system installers:

Another example is found in the Haiku operating system, which uses a utility called Haiku Installer to install itself onto a device after booting from a live CD or live USB.

See also

Related Research Articles

<span class="mw-page-title-main">Linux distribution</span> Operating system based on the Linux kernel

A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. They are often obtained from the website of each distribution, which are available for a wide variety of systems ranging from embedded devices and personal computers to servers and powerful supercomputers.

<span class="mw-page-title-main">APT (software)</span> Free software package management system

Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian and Debian-based Linux distributions. APT simplifies the process of managing software on Unix-like computer systems by automating the retrieval, configuration and installation of software packages, either from precompiled files or by compiling source code.

<span class="mw-page-title-main">Live CD</span> Complete, bootable computer installation that runs directly from a CD-ROM

A live CD 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 from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on a computer without secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery.

<span class="mw-page-title-main">Wallpaper (computing)</span> Decorative background on electronic devices

A wallpaper or background is a digital image used as a decorative background of a graphical user interface on the screen of a computer, smartphone or other electronic device. On a computer, wallpapers are generally used on the desktop, while on a mobile phone they serve as the background for the home screen. Though most devices include a default background image, modern devices usually allow users to manually change the background image.

The Start menu is a graphical user interface element that has been part of Microsoft Windows since Windows 95, providing a means of opening programs and performing other functions in the Windows shell. The Start menu, and the Taskbar on which it appears, were created and named in 1993 by Daniel Oran, a program manager at Microsoft who had previously collaborated on great ape language research with the behavioral psychologist B.F. Skinner at Harvard.

<span class="mw-page-title-main">Portable application</span> Type of computer program

A portable application, sometimes also called standalone software, is a computer program designed to operate without changing other files or requiring other software to be installed. In this way, it can be easily added to, run, and removed from any compatible computer without setup or side-effects.

<span class="mw-page-title-main">Live USB</span> USB drive with a full bootable operating system

A live USB is a portable USB-attached external data storage device containing a full operating system that can be booted from. The term is reminiscent of USB flash drives but may encompass an external hard disk drive or solid-state drive, though they may be referred to as "live HDD" and "live SSD" respectively. They are the evolutionary next step after live CDs, but with the added benefit of writable storage, allowing customizations to the booted operating system. Live USBs can be used in embedded systems for system administration, data recovery, or test driving, and can persistently save settings and install software packages on the USB device.

<span class="mw-page-title-main">Parallels Desktop for Mac</span> Virtual machine software

Parallels Desktop for Mac is software providing hardware virtualization for Macintosh computers with Intel processors, and since version 16.5 also for Apple silicon-based Macintosh computers. It is developed by Parallels, since 2018 a subsidiary of Corel.

<span class="mw-page-title-main">Software remastering</span>

Software remastering is software development that recreates system software and applications while incorporating customizations, with the intent that it is copied and run elsewhere for "off-label" usage. The term comes from remastering in media production, where it is similarly distinguished from mere copying.

<span class="mw-page-title-main">Wubi (software)</span> Ubuntu Linux installer for Windows

Wubi is a free software Ubuntu installer, that was the official Windows-based software, from 2008 until 2013, to install Ubuntu from within Windows, to a single file within an existing Windows partition.

<span class="mw-page-title-main">Ubiquity (software)</span> Free and open-source system installer for Ubuntu and its derivatives

Ubiquity is the default installer for Ubuntu and its derivatives. It is run from the Live CD or USB and can be triggered to run from the options on the device or on the desktop of the Live mode. It was first introduced in Ubuntu 6.06 LTS "Dapper Drake". At program start, it allows the user to change the language to a local language if they prefer. It is designed to be easy to use.

An app store, also called an app marketplace or app catalog, is a type of digital distribution platform for computer software called applications, often in a mobile context. Apps provide a specific set of functions which, by definition, do not include the running of the computer itself. Complex software designed for use on a personal computer, for example, may have a related app designed for use on a mobile device. Today apps are normally designed to run on a specific operating system—such as the contemporary iOS, macOS, Windows, Linux or Android—but in the past mobile carriers had their own portals for apps and related media content.

<span class="mw-page-title-main">Zorin OS</span> Linux distribution based on Ubuntu LTS

Zorin OS is a Linux distribution based on Ubuntu. It uses a GNOME 3 and XFCE 4 desktop environment by default, although the desktop is heavily customized in order to help users transition from Windows and macOS easily. Wine and PlayOnLinux are supported, allowing users to run compatible Windows software, like Microsoft Office. Its creators maintain three free editions of the operating system, and sell a professional edition.

Ubuntu is a Debian-based Linux distribution for personal computers, tablets and smartphones, where the Ubuntu Touch edition is used; and also runs network servers, usually with the Ubuntu Server edition, either on physical or virtual servers or with containers, that is with enterprise-class features.

Android devices have the ability to run virtual machines or emulate other operating systems. It does this either via desktop virtualization, platform virtualization, or emulation via compatibility layer.

Pop!_OS Linux distribution developed by System76

Pop OS is a free and open-source Linux distribution, based on Ubuntu, and featuring a customized GNOME desktop environment known as COSMIC. The distribution is developed by American Linux computer manufacturer System76. Pop!_OS is primarily built to be bundled with the computers built by System76, but can also be downloaded and installed on most computers.

Comparison of user features of operating systems refers to a comparison of the general user features of major operating systems in a narrative format. It does not encompass a full exhaustive comparison or description of all technical details of all operating systems. It is a comparison of basic roles and the most prominent features. It also includes the most important features of the operating system's origins, historical development, and role.

References

  1. Valente, Andrea; Marchetti, Emanuela (2022-03-01). "Simplifying Programming for Non-technical Students: A Hermeneutic Approach". KI - Künstliche Intelligenz. 36 (1): 17–33. doi: 10.1007/s13218-021-00748-0 . ISSN   1610-1987. PMC   8761527 . PMID   35068698.
  2. 1 2 Hoffman, Chris (27 July 2013). "How to Avoid Installing Junk Programs When Downloading Free Software". HowToGeek. Retrieved 6 October 2015.
  3. Mathews, Lee (22 August 2011). "Download.com wraps downloads in bloatware, lies about motivations". ExtremeTech. Retrieved 6 October 2015.
  4. 1 2 Eicher 2011, p. 5.
  5. Oliveira & Martín-Rodríguez 2006, p. 6.
  6. Eicher 2011, p. 11.
  7. "What is a Silent Installation?". Webopedia. 2021-12-20. Retrieved 2022-05-05.
  8. "Silent Install Definition". techterms.com. Retrieved 2022-05-05.
  9. Bergner, Jason. "Google Drive Silent Install (How-To Guide)". Silent Install HQ. Retrieved 2022-05-05.
  10. Lewkowicz, Jakub (18 April 2023). "InstallAware improves IDE's visual designers and setup engine in Multi Platform Beta 4". Software Development Times . Retrieved 17 June 2024.
  11. "New InstallAware X15 with Context Menu Bridge for Windows 11". Software Development Times . San Francisco, CA. 21 March 2022. Retrieved 17 June 2024.
  12. Nawrocki, Matthew (21 June 2013). "Five apps for creating installation packages". TechRepublic . Retrieved 17 June 2024.
  13. "macOS - What is macOS". Apple. Retrieved 5 April 2018.
  14. "Easy Access to the Applications Folder from a Disk Image". Mac Dev Center. Archived from the original on 2005-12-14. Retrieved 23 November 2023.
  15. Debian Wiki: Debian Installer GUI

Sources