/inno_bundle

CLI tool for automating Windows installer creation using Inno Setup.

Primary LanguageDartMIT LicenseMIT

Inno Bundle

pub package chocolatey version inno setup hahouari-inno-setup

A command-line tool that simplifies bundling your app into an EXE installer for Microsoft Windows. Customizable with options to configure the installer capabilities.

Guide

1. Install Inno Setup

The easiest way to install latest version of Inno Setup is using WinGet:

winget install -e --id JRSoftware.InnoSetup

If you do not have WinGet, here is how to install it, or find out other methods to install Inno Setup.

Note: This package is tested on Inno Setup version 6.3.3.

2. Install inno_bundle package into your project

dart pub add dev:inno_bundle

3. Generate App ID

Every application has its own unique GUID, here is how to generate one:

# generate id based upon a namespace (Recommended)
dart run inno_bundle:id --ns "www.example.com"

# or use this to generate a random GUID
dart run inno_bundle:id

The output id is going to be something similar to this:

f887d5f0-4690-1e07-8efc-d16ea7711bfb

Copy & Paste the output to your pubspec.yaml as shown in the next step.

4. Set up the Configuration

Add your configuration to your pubspec.yaml. example:

inno_bundle:
  id: f887d5f0-4690-1e07-8efc-d16ea7711bfb # <-- Put your app id here
  publisher: Your Name # Optional, but recommended.
  name: Demo App # Also optional, but recommended.

For more advanced configuration with examples, see Configuration Options.

5. Build the Installer

After setting up the configuration, all that is left to do is run the build command

dart run inno_bundle:build --release

If you need other use cases with our CLI tool, look up CLI Options.

More Options and Examples

You can find more detailed documentation on customizing inno_bundle, including examples, on the GitHub wiki pages.

Using GitHub Workflow?

To automate the process of building the installer with GitHub Actions, refer to this demo.

You can copy the build.yaml file into your project and make sure to update the push branch. This setup will build the installer and publish it to GitHub Releases with the appropriate versioning.

DLL Files Handling

inno_bundle handles including all necessary DLL files within the installer. For more info, refer to this page.

Reporting Issues

If you encounter any issues please report them here.