Installer

Also known as: setup wizard

On this page 6

An installer is a program or package that places software on a computer and prepares the system to run it. It copies the application’s files to their target locations, creates shortcuts and file associations, registers components and services, installs missing dependencies and records what it changed so that the software can later be repaired, updated or cleanly uninstalled.

In software installation and packaging, the installer is the bridge between a downloaded product and a working program. Its quality decides whether deployment is a single silent command across thousands of machines or a manual process that leaves broken leftovers behind. Modern platforms increasingly replace classic installers with package managers and containerized formats, but the core tasks remain the same.

What an installer does step by step

An installer follows a predictable sequence of checks and changes, and a robust one can undo every change if a step fails. The order below is typical for a desktop application on Windows, macOS or Linux.

  1. Verify prerequisites: operating system version, processor architecture, free disk space, required runtimes and user privileges.
  2. Request elevation if needed: per-machine installs on Windows trigger a User Account Control prompt; per-user installs usually do not.
  3. Extract and copy the payload to the program directory, often compressed inside the installer itself.
  4. Configure the system: registry entries, shortcuts, file associations, environment variables, services and firewall rules.
  5. Register the installation with the operating system so it appears in the list of installed programs with an uninstall entry.
  6. Commit or roll back: finish the transaction, or restore the previous state if any step failed.

The final two steps separate professional installers from simple archive extractors. Registration enables repair and removal, and transactional rollback guarantees that a failed installation does not leave the machine in a half-configured state.

Installer formats by platform

Each operating system has native installer formats with different capabilities, and the choice affects how easily administrators can automate deployment. The table compares the most widely used options.

FormatPlatformKey characteristicsTypical use
MSIWindowsDatabase-driven, transactional, supports repair and silent modeEnterprise software deployment
MSIXWindowsContainerized, clean uninstall, mandatory signingModern Windows and store apps
Setup executableWindowsScripted logic, flexible interface, built with tools such as NSIS or Inno SetupConsumer software, bootstrappers
PKGmacOSInstalls to system locations, supports scripts and receiptsDrivers, system components, managed Macs
DMG with drag-and-dropmacOSDisk image; user copies an app bundleSelf-contained consumer apps
DEB and RPMLinuxManaged by apt or dnf, with dependency resolutionDistribution packages, servers
Flatpak and SnapLinuxSandboxed, bundled dependencies, cross-distributionDesktop apps across distributions
AppImageLinuxSingle executable file, no installation stepPortable desktop apps
Common installer and package formats

Formats such as AppImage and drag-and-drop DMG images show that some software needs no installer at all: everything the program requires is bundled in one file or folder. These portable approaches simplify deployment but give up system integration, central updates and dependency sharing.

Installer types and installation scopes

Installers also differ in how they obtain the payload and for whom they install. These choices determine download size, network requirements and whether an administrator is needed.

VariantHow it worksBest fitDrawback
Offline installerContains the complete payloadAir-gapped networks, repeated deploymentsLarge download
Online or stub installerSmall launcher downloads components on demandConsumer downloads, modular suitesFails without internet access
Per-machine installationInstalls for all users into system foldersShared and managed computersRequires administrator rights
Per-user installationInstalls into the user’s profileUnmanaged laptops, restricted accountsDuplicated per user, harder to inventory
Silent or unattended installationRuns without dialogs using command-line optionsMass deployment by ITErrors visible only in logs and exit codes
Installer variants and when each fits

For unattended deployment, administrators rely on documented switches and exit codes. With Windows Installer, a command such as msiexec /i app.msi /qn /norestart /l*v install.log installs silently and writes a verbose log; the exit code then tells the deployment tool what happened.

Exit codeMeaningRecommended action
0SuccessNone
3010Success, restart requiredSchedule a restart
1603Fatal error during installationRead the verbose log for the failing action
1618Another installation is already in progressRetry later
1638Another version of the product is already installedUninstall or use an upgrade package
Frequent Windows Installer exit codes

Installer security risks

Because installers often run with administrator privileges, they are a prime target for attackers. A compromised installer can plant malware with full system rights before the application ever starts.

  • Unsigned installers cannot be verified, and operating systems warn about or block them; code signing with a trusted certificate is the baseline.
  • Supply-chain attacks insert malicious code into a legitimate vendor’s build or download server, so checksums and signatures must come from a trusted channel.
  • DLL search-order hijacking lets a malicious library placed in the Downloads folder load into an installer that runs from there.
  • Bundled offers add unrelated toolbars or utilities through pre-checked options, a practice that security products often flag as unwanted software.
  • Leftover files and services after uninstallation can keep vulnerable components on the machine.

Sandboxed formats such as MSIX, Flatpak and Snap reduce these risks by confining the application within an application sandbox and by giving it no arbitrary write access to system folders.

A plain-language summary

An installer is like a moving crew for a new piece of furniture. It does not just drop the box at the door: it unpacks everything, puts each part in the right room, connects it to power and leaves a list of what it did.

That list matters later. When you want to remove the program, the uninstaller reads it and takes away exactly what was added, so the house is left tidy and nothing else is disturbed.

An example from practice

An IT administrator must deploy a new version of a reporting application to 600 company laptops without interrupting users. Instead of the vendor’s interactive setup program, she uses the MSI package and pushes the command msiexec /i reporting.msi /qn /norestart /l*v with a log path through the company’s endpoint management tool overnight.

The next morning, the console shows 587 machines returned 0, 9 returned 3010 and 4 returned 1618. The 9 restart-required machines are already updated and will finish at the next scheduled reboot, so 596 of 600 installations, about 99.3 percent, succeeded on the first pass. The 4 machines with code 1618 were running a security update at the same time, and a scheduled retry two hours later completes them. No user saw a single dialog.