🛠️

Inno Setup Tutorial

Jun 21, 2024

Inno Setup Tutorial

Presenters: Joe Lyons (Automator), John Allan (Quick Access Pop-ups)

Key Points

  • Purpose: Introduction to Inno Setup, a tool for creating user-friendly installation GUI.
  • Advantages: Provides control over installation, safer than distributing portable software.
  • Community: Well-documented with a supportive community.

Overview

  • Sections: Simple example, intermediate example, advanced example based on Quick Access Pop-up.
  • Flexible & Documented: Easy for developers, safe installation for users.

Simple Example

  • Setup Process:
    • Installer Program: Inno Setup Compiler (text editor and compiler for installation scripts).
    • Basic Setup Information: Application name, version, directory, group name for start menu.
    • Variables: Use Define keyword for reusing values.
    • File Section: Specifies files to be included in the installer and their destinations.
    • Icons Section: Defines icons (shortcuts) for start menu.
  • Compile & Run:
    • Compile Button: Compiles script into an executable setup file.
    • Installation Process: Selecting the directory, creating start menu folder, confirming installation.
    • Output: Recently added in start menu, executable and readme file.

Intermediate Example

  • Added Functionalities:
    • Environment Variables: Retrieving info from environment variables (e.g., application version).
    • License File: User must approve a license before proceeding.
    • Compression Algorithm: To compress setup files.
    • Tasks: User options/choices during installation (e.g., creating start menu folder).
    • Additional Icons: Links to the website, uninstaller in start menu.
    • Create Directories: Creating application data folders and INI files.
    • Language Support: Translating installer interface into multiple languages.
    • Custom Language Entries: Specific custom messages translated.
  • Customization and Conditions:
    • Commands Based on Language: Execute commands conditionally based on selected language.
    • Define Keywords: For setup, file inclusion, tasks, and post-installation actions.
    • User Choices: Displaying additional options at the end of installation.

Advanced Example: Quick Access Pop-up

  • Real-Life Application: Setup for Quick Access Pop-up software.
  • Key Features:
    • Registry Entries: Create context menu entries, application registration in Windows.
    • Custom Code in Pascal: Defining custom installation functions in Pascal language.
    • Automatic Updates: Skipping license and task pages for users updating the application.
    • Windows Architecture Handling: Installing different files for 32-bit and 64-bit systems.
    • Context Menu Integrations: Adding commands to desktop and folder context menus.

Additional Insights

  • Advantages Over AHK Built-in Tools: Better control, automated uninstaller, predefined processes, and handling multiple files/locations.
  • Complexity & Support: Extensive documentation and community support available.
  • Manual Work Reduced: Saves time over manual scripting, though possible with AutoHotkey.

Conclusion: Inno Setup provides a structured and efficient way to manage software installations, complying with best practices and user convenience.