inno_bundle 0.4.1 copy "inno_bundle: ^0.4.1" to clipboard
inno_bundle: ^0.4.1 copied to clipboard

CLI tool for automating Windows installer creation using Inno Setup.

Inno Bundle #

pub package inno setup dz flutter community

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. Download Inno Setup #

  • Option 1: Using winget
winget install -e --id JRSoftware.InnoSetup
  • Option 2: From the website

    Download Inno Setup from official website. Then install it in your machine.

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

2. Install inno_bundle package into your project #

dart pub add dev:inno_bundle

3. Generate App ID #

To generate a random id run:

dart run inno_bundle:id

Or, if you want your app id based upon a namespace, that is also possible:

dart run inno_bundle:id --ns "www.example.com"

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 own generated id here
  publisher: Your Name # Optional, but recommended.

5. Build the Installer #

After setting up the configuration, all that is left to do is run the package.

flutter pub get
dart run inno_bundle:build --release

Note: --release flag is required if you want to build for release mode, see below for other options.

Set it up on a GitHub Workflow #

To automate building the installer with GitHub actions, check out the demo here.

You can copy the workflow from the build.yaml, it will run on windows-latest machine, it builds of the installer and it also pushes it to GitHub Releases with correct versioning, just in case you needed such step, well it is there :).

Attributes #

Full list of attributes which you can use into your configuration. All attributes should be under inno_bundle in pubspec.yaml.

  • id: Required A valid GUID that serves as an AppId.
  • name: App name. Defaults to camel cased name from pubspec.yaml.
  • description: Defaults to description from pubspec.yaml.
  • version: Defaults to version from pubspec.yaml.
  • publisher: Defaults to maintainer from pubspec.yaml. Otherwise, an empty string.
  • url: Defaults to homepage from pubspec.yaml. Otherwise, an empty string.
  • support_url: Defaults to url.
  • updates_url: Defaults to url.
  • installer_icon: A path relative to the project that points to an ico image. Defaults to installer icon provided with the demo.  1 
  • languages: List of installer's display languages. Defaults to all available languages. 2 
  • admin: (true or false) Defaults to true.
    • true: Require elevated privileges during installation. App will install globally on the end user machine.
    • false: Don't require elevated privileges during installation. App will install into user-specific folder.

1 Only .ico images were tested.

2 All supported languages are: english, armenian, brazilianportuguese, bulgarian, catalan, corsican, czech, danish, dutch, finnish, french, german, hebrew, hungarian, icelandic, italian, japanese, norwegian, polish, portuguese, russian, slovak, slovenian, spanish, turkish, ukrainian.

Examples to CLI options #

This will skip building the app if it exists:

dart run inno_bundle:build --no-app

This will skip building the installer, useful if you want to generate .iss script only:

dart run inno_bundle:build --no-installer

This build is release mode:

dart run inno_bundle:build --release

Other mode flags are --profile, --debug (Default).

Other configuration examples #

inno_bundle:
  id: f887d5f0-4690-1e07-8efc-d16ea7711bfb
  publisher: Jane Doe
  installer_icon: assets/images/installer.ico
  languages:
    - english
    - french
    - german
  admin: false
inno_bundle:
  id: f887d5f0-4690-1e07-8efc-d16ea7711bfb
  name: google_flutter_framework
  description: Flutter makes it easy and fast to build beautiful apps for mobile and beyond.
  publisher: Google LLC
  url: https://github.com/flutter/flutter
  support_url: https://github.com/flutter/flutter/wiki
  updates_url: https://github.com/flutter/flutter/releases

Additional Feature #

DLL files msvcp140.dll, vcruntime140.dll, vcruntime140_1.dll are also bundled (if detected in your machine) with the app during installer creation. This helps end-users avoid issues of missing DLL files when running app after install. To know more about it, visit this Stack Overflow issue.

image

Reporting Issues #

If you encounter any issues please report them here.

9
likes
0
points
271
downloads

Publisher

verified publisherhahouari.com

Weekly Downloads

CLI tool for automating Windows installer creation using Inno Setup.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

args, flutter, path, uuid, yaml

More

Packages that depend on inno_bundle