inno_bundle 0.0.3 inno_bundle: ^0.0.3 copied to clipboard
CLI tool for automating Windows installer creation using Inno Setup.
Inno Bundle #
A command-line tool which simplifies bundling your app into a windows installer. Customizable with options to configure some installer options.
Guide #
1. Download Inno Setup #
Download the Inno Setup from here, then install it.
Note: This package is tested on Inno Setup version 6.2.2
.
2. Generate App ID #
To generate a random one run:
dart run inno_bundle:id
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
Paste this id into your pubspec.yaml
file, under inno_bundle.id
.
2. Setup the Configuration #
Add your configuration to your pubspec.yaml
. example:
dev_dependencies:
inno_bundle: "^0.0.1"
inno_bundle:
id: f887d5f0-4690-1e07-8efc-d16ea7711bfb # <-- put your own generated one
publisher: Your Name
installer_icon: assets/images/installer.ico
3. 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.
Attributes #
Shown below is the full list of attributes which you can specify within your configuration.
All configuration attributes should be under inno_bundle
.
id
:Required
A valid GUID that serves as an AppId.name
: App name. Defaults to camel casedname
frompubspec.yaml
.description
: Defaults todescription
frompubspec.yaml
.version
: Defaults toversion
frompubspec.yaml
.publisher
: Defaults tomaintainer
frompubspec.yaml
. Otherwise, an empty string.url
: Defaults tohomepage
frompubspec.yaml
. Otherwise, an empty string.support_url
: Defaults tourl
.updates_url
: Defaults tourl
.installer_icon
:Required
A valid path relative to the project that points to an ico image. If you don't have one, download the template icon provided with the demo. Only .ico images were tested.languages
: List of installer's display languages. Defaults to all available languages. 1admin
: (true
orfalse
) Defaults totrue
.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 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.
Another example including languages and non-admin installation. #
inno_bundle:
id: f887d5f0-4690-1e07-8efc-d16ea7711bfb
publisher: Your Name
installer_icon: assets/images/installer.ico
languages:
- english
- french
- german
admin: false
Other CLI options #
This will skip the app building if it exists, and will straight-forward to create the installer:
dart run inno_bundle:build --skip-app
This build is release
mode:
dart run inno_bundle:build --release
Other mode flags are --profile
, --debug
(Default).
Additional Feature #
DLL files msvcp140.dll
, vcruntime140.dll
, vcruntime140_1.dll
are also bundled (if detected in
your machine) with the app when creating the installer. This helps some end-users avoid issues of
missing DLL files when running app after install. To learn more about it, visit
this
Stack Overflow issue.
Reporting Issues #
If you encounter any issues please report them here.