Skip to content

Inno Setup

Inno Setup is a free installer for Windows Programs created by Jordan Russell | Jordan Russell’s Software (and Martign Laan) back in 1997.

Inno Setup rivals and even surpasses many commercial installers in feature set and stability and is very widely used throughout Software Development.

Key Features

Source: Inno Setup Help

Key features:

  • Support for every Windows release since 2006, including: Windows 11, Windows 10, Windows 10 on ARM, Windows Server 2019, Windows Server 2016, Windows 8.1, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, and Windows Vista. (No service packs are required.)
  • Extensive support for installation of 64-bit applications on the 64-bit editions of Windows. The x64, ARM64 and Itanium architectures are all supported.
  • Extensive support for both administrative and non administrative installations installations.
  • Supports creation of a single EXE to install your program for easy online distribution. Disk spanning is also supported.
  • Resizable standard Windows wizard interface.
  • Customizable setup types, e.g. Full, Minimal, Custom.
  • Complete uninstall capabilities.
  • Installation of files:
    Includes integrated support for “deflate”, bzip2, and 7-Zip LZMA/LZMA2 file compression. The installer has the ability to compare file version info, replace in-use files, use shared file counting, register DLL/OCX’s and type libraries, and install fonts.
  • Creation of shortcuts anywhere, including in the Start Menu and on the desktop.
  • Creation of registry and .INI entries.
  • Running other programs before, during or after install.
  • Support for multilingual installs, including right-to-left language support.
  • Support for passworded and encrypted installs.
  • Support for digitally signed installs and uninstalls, including dual signing (SHA1 & SHA256).
  • Silent install and silent uninstall.
  • Unicode installs.
  • Integrated preprocessor option for advanced compile-time customization.
  • Integrated Pascal scripting engine option for advanced run-time install and uninstall customization.
  • Full source code is available from GitHub [external link].
  • Tiny footprint: only about 1.5 mB overhead with all features included.
  • All features are fully documented.
  • Used by Microsoft Visual Studio Code [external link] and Embarcardero Delphi.

Creating Installations

Installations are created by means of scripts, which are ASCII or Unicode (UTF-8 encoded with a BOM) text files with a format somewhat similar to .INI files. (No, it’s not as complicated as you might be thinking!).

Scripts have an “.iss” (meaning Inno Setup Script) extension. The script controls every aspect of the installation. It specifies which files are to be installed and where, what shortcuts are to be created and what they are to be named, and so on.

Script files are usually edited from inside the “Inno Setup Compiler” Compiler IDE program. After you have finishing writing the script, the next and final step is select “Compile” in the Compiler IDE. What this does is create a complete, ready-to-run Setup program based on your script. By default, this is created in a directory named “Output” under the directory containing the script.

To give you an idea of how this all works, start the Compiler IDE, click File | Open, and select one of the script files in the Examples subdirectory located under the Inno Setup directory. (It may be helpful to use the sample scripts as a template for your own scripts.)

See Also: Script Format Overview


Backlinks:

list from [[Tool-Template]] AND -"Changelog"