Giter Site home page Giter Site logo

inno_bundle's Introduction

Inno Bundle

pub package chocolatey version inno setup hahouari-inno-setup

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. Install Inno Setup

The easiest way to install latest version of Inno Setup is using WinGet:

winget install -e --id JRSoftware.InnoSetup

If you do not have WinGet, here is how to install it, or find out other methods to install Inno Setup.

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

2. Install inno_bundle package into your project

dart pub add dev:inno_bundle

3. Generate App ID

Every application has its own unique GUID, here is how to generate one:

# generate id based upon a namespace (Recommended)
dart run inno_bundle:id --ns "www.example.com"

# or use this to generate a random GUID
dart run inno_bundle:id

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 app id here
  publisher: Your Name # Optional, but recommended.
  name: Demo App # Also optional, but recommended.

For more advanced configuration with examples, see Configuration Options.

5. Build the Installer

After setting up the configuration, all that is left to do is run the build command

dart run inno_bundle:build --release

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.

inno_bundle's People

Contributors

hahouari avatar letrungdo avatar rivafarabi avatar cteq3132 avatar izzaldev avatar

Stargazers

 avatar RainVisitor avatar  avatar Marc Vincent Bentoy avatar Mohamed Malkia avatar

Watchers

 avatar

inno_bundle's Issues

Building in Linux support

Hey I am using GitHub cli to do this so how can this run on Linux since workflows run on Linux I found a docker for Linux can implement to run this thing in Linux also if you can you can switch to a project called flutter installer
That can package on every desktop and is fully made with flutter

Windows is unable to find the .exe file when using a custom name for the app

Hi,

Thanks for this amazing package, it makes it SO easier to publish an app on windows, and I love that you thought about GitHub actions.

I ran into an issue when using a custom name for my app. It appears that Windows is looking for a .exe file named <new_name>.exe. However the name of that exe name is <pubspec_name>.exe (where pubspec_name is the name of the project in the pubspec file, which is why there is no error when not using a custom name).

This can be fixed by editing the last line of the generated nno_setup.iss file :

[Run]
Filename: "{app}\<new_name>.exe"; Description: "{cm:LaunchProgram,{#StringChange('<new_name>', '&', '&&')}}"; Flags: nowait postinstall skipifsilent

to :

[Run]
Filename: "{app}\<pubspec_name>.exe"; Description: "{cm:LaunchProgram,{#StringChange('<pubspec_name>', '&', '&&')}}"; Flags: nowait postinstall skipifsilent

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.