CLI tool that simplifies bundling flutter apps into Windows installers using Inno Setup.
dart pub add dev:inno_bundleRun the build command on release mode
dart run inno_bundleNote: This will generate the initial configuration if not present in your pubspec.yaml.
To build using Shorebird instead of Flutter (enables code-push workflows):
dart run inno_bundle --build-tool shorebirdPass extra Shorebird args if needed (example):
dart run inno_bundle --build-tool shorebird --shorebird-args "--artifact=exe"You can find detailed documentation on customizing inno_bundle, including examples, on the GitHub wiki pages.
To configure your installer, see Configuration Options, and if you need other use cases with our CLI tool, look up CLI Options.
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.
inno_bundle handles including all necessary DLL files within the installer. For more info, refer to this page.
If you encounter any issues please report them here.
By default, inno_bundle uses the Flutter CLI to build your app (flutter build windows). You can opt into Shorebird releases to enable code-push based workflows.
- CLI flags:
--build-tool shorebirdto use Shorebird--shorebird-args "--artifact=exe --staged"to pass extra args toshorebird release windows
- YAML config (
inno_bundle.yamlorpubspec.yamlunderinno_bundle):build_tool: shorebird
Commands executed:
- Shorebird:
shorebird release windows [--debug|--profile] <shorebird-args> - Flutter (default):
flutter build windows ./lib/main.dart --<mode> --obfuscate --split-debug-info=build/obfuscate --build-name <x> --build-number <y> <build-args>
This is non-breaking; existing usage requires no changes.