CLI tool that simplifies bundling flutter apps into Windows installers using Inno Setup.
dart pub add dev:inno_bundle
Run the build command on release mode
dart run inno_bundle
Note: 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 shorebird
Pass 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 shorebird
to use Shorebird--shorebird-args "--artifact=exe --staged"
to pass extra args toshorebird release windows
- YAML config (
inno_bundle.yaml
orpubspec.yaml
underinno_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.