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.