Inno Bundle
CLI tool that simplifies bundling flutter apps into Windows installers using Inno Setup.
Guide
1. Install inno_bundle
package into your project
dart pub add dev:inno_bundle
For more advanced configuration with examples, see Configuration Options.
2. Build the Installer
To run the build command on release mode
dart run inno_bundle:build --release
Note: This will generate the initial configuration if not present in your pubspec.yaml
.
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.
Libraries
- builders/app_builder
- This file contains the AppBuilder class, which is responsible for orchestrating the build process of the app using a provided configuration.
- builders/installer_builder
- This file contains the InstallerBuilder class, which is responsible for creating the installer for the application using Inno Setup.
- builders/script_builder
- This file contains the ScriptBuilder class, which is responsible for generating the Inno Setup Script (ISS) file for creating the installer of an application.
- inno_bundle
- inno_bundle is not designed to be imported as library within projects, Rather its a CLI tool with customized output based on pubspec.yaml configuration.
- models/admin_mode
- This file defines the AdminMode enum, which represents the different privilege modes that can be requested by the installer.
- models/build_arch
- This file defines the BuildArch enum, which specifies the CPU architectures that the app is designed to run on and, consequently, the architectures supported by the installer generated by inno_bundle.
- models/build_type
- Represents the different build types supported for the software.
- models/cli_config
- This file contains the CliConfig class, which holds the configuration for the command-line interface.
- models/config
- This file contains the Config class, which represents the configuration for building a Windows installer using Inno Setup.
- models/dll_entry
- A class that represents a DLL entry for use in Inno Setup.
- models/language
- Represents the different languages supported by the Inno Setup installer.
- models/sign_tool
- A class that holds the properties related to the signing tool used by Inno Setup, based on the directives in the Setup section.
- models/vcredist_mode
- This file defines the VcRedistMode enum, which represents the different modes for handling the Visual C++ Redistributable.
- utils/cli_logger
- Provides a CLI logging utility with various log levels and colored output.
- utils/constants
- Contains various constants and utility values used throughout the Inno Bundle package.
- utils/functions
- Utility functions for handling YAML, string manipulation, file operations, and system environment.
- utils/installer_icon
- File specific for the icon file name and a base64 encoded icon