DEV Community

Cover image for 🚀 How to Create EXE Installer for a Flutter Windows App Using Inno Setup
Codexlancers
Codexlancers

Posted on

🚀 How to Create EXE Installer for a Flutter Windows App Using Inno Setup

Flutter makes it easy to build Windows desktop applications, but distributing your application can become messy if you share the entire release folder containing multiple files and directories.

Instead of sending users a folder like this:

MyApp.exe
flutter_windows.dll
data/
other dependency files...
Enter fullscreen mode Exit fullscreen mode

You can package everything into a single installer:

CodexInstaller.exe
Enter fullscreen mode Exit fullscreen mode

In this guide, you'll learn how to create a professional Windows installer for your Flutter desktop application using Inno Setup.

Prerequisites

Before getting started, make sure you have:

  • Flutter installed and configured for Windows development
  • A Flutter Windows application
  • Inno Setup installed
  • A Windows release build generated using:
flutter build windows --release
Enter fullscreen mode Exit fullscreen mode

Your release files will be generated in:

build/windows/x64/runner/Release
Enter fullscreen mode Exit fullscreen mode

Why Use Inno Setup?

Inno Setup allows you to:

  • ✅ Package your Flutter application into a single installer
  • ✅ Create desktop and Start Menu shortcuts
  • ✅ Install application files automatically
  • ✅ Add custom icons
  • ✅ Configure installation paths
  • ✅ Provide a professional installation experience

Step 1: Launch Inno Setup

Open Inno Setup after installation.

Select:

Create a new script file using the Script Wizard

Then click OK.

Launch Inno Setup

Step 2: Enter Application Information

Fill in your application's basic information:

  • Application Name
  • Application Version
  • Publisher Name
  • Publisher Website (Optional)

Example:

Enter Application Information

Click Next.

Step 3: Configure the Installation Folder

Choose where the application should be installed.

Recommended settings:

Application destination base folder:
Program Files Folder
Enter fullscreen mode Exit fullscreen mode

Enter your application name as the folder name.
You may optionally allow users to change the installation location.
Click Next.

Configure the Installation Folder

Step 4: Add Flutter Release Files

This is the most important step.

Navigate to:

build/windows/x64/runner/Release
Enter fullscreen mode Exit fullscreen mode

You need to include the required Flutter release files.

Select the Main Executable

Click Browse and choose:

CodexApp.exe
Enter fullscreen mode Exit fullscreen mode

This becomes the application's primary executable.

Add Additional Files

Click:

Add File(s)
Enter fullscreen mode Exit fullscreen mode

Select:

flutter_windows.dll
CodexApp.exe
Enter fullscreen mode Exit fullscreen mode

Add the Data Folder

Click:

Add Flutter Release Files

💡 Tip

Every Flutter Windows application is different.

Some apps may contain additional DLL files, native libraries, AI models, assets, or plugin resources.

If your application uses packages that generate extra files in the Release folder, include those files and folders in your installer as well.

Step 5: Configure the Data Folder Destination

After adding the data folder:

  1. Select the folder entry.
  2. Click Edit.
  3. Set:

Destination Subfolder:

data\*
Enter fullscreen mode Exit fullscreen mode

This ensures the Flutter assets are installed correctly.

Without this step, your application may fail to load resources after installation.


Step 6: File Association (Optional)

If your application opens custom file types, configure them here.

Example:

Most Flutter applications don't require file associations.

Leave this unchecked and click Next.

Step 7: Create Application Shortcuts

Recommended settings:

✅ Create a Start Menu shortcut
✅ Allow users to create a Desktop shortcut

This improves accessibility for end users.

Click Next.

Step 8: Choose Installation Mode

Select:

Administrative Install Mode
(Install for all users)
Enter fullscreen mode Exit fullscreen mode

This installs the application for all users on the computer.

Click Next.

Step 9: Configure Compiler Settings

This step controls how the final installer will be generated.

Configure:

Output Folder

Choose where the installer should be generated.

Example:

C:\Installers
Enter fullscreen mode Exit fullscreen mode

Installer Name

Example:

CodexInstaller
Enter fullscreen mode Exit fullscreen mode

Custom Icon (Optional)

You can specify a custom:

.ico
Enter fullscreen mode Exit fullscreen mode

file for your installer.

Password Protection (Optional)

You may also password-protect the installer if needed.

Click Next.

Step 10: Generate the Installer Script

Continue through the remaining wizard pages and click Finish.

Inno Setup will ask:

Would you like to save the script before compiling?

Select Yes to save the installer script. This allows you to quickly rebuild or update the installer whenever you release a new version of your Flutter Windows application.

Step 11: Build the Installer

Inno Setup will compile your script and package all required files.

Once the compilation completes successfully, your output folder will contain:

CodexInstaller.exe
Enter fullscreen mode Exit fullscreen mode

Testing the Installer

Before distributing your installer:

Verify Installation

  • Install on a clean machine or VM.
  • Launch the application.
  • Verify assets load correctly.
  • Confirm shortcuts work.

Verify Uninstallation

  • Open Control Panel.
  • Uninstall the application.
  • Confirm files are removed properly.

Common Issues and Solutions

App Opens But Shows a Blank Screen

Usually caused by:

  • Missing data folder
  • Incorrect destination subfolder configuration

Make sure the data folder is installed as:

Application Folder\data
Enter fullscreen mode Exit fullscreen mode

Missing DLL Errors

Ensure:

flutter_windows.dll
Enter fullscreen mode Exit fullscreen mode

is included in the installer.

Assets Not Loading

Verify:

data/
Enter fullscreen mode Exit fullscreen mode

has been added recursively.

Final Folder Structure

Your release folder should look similar to:

Release/
│
├── MyApp.exe
├── flutter_windows.dll
├── data/
├── other dependency files
Enter fullscreen mode Exit fullscreen mode

After packaging with Inno Setup, users only need:

CodexInstaller.exe
Enter fullscreen mode Exit fullscreen mode

Conclusion

Inno Setup is one of the easiest and most reliable tools for packaging Flutter Windows applications into a professional installer.

With just a few minutes of setup, Inno Setup can transform your Flutter Windows release files into a professional installer that users can install with a few clicks.

Whether you're distributing applications internally, sharing software with clients, or preparing for a public release, creating a proper installer provides a much better user experience than distributing raw release files.

Happy coding! 🚀

Top comments (0)