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...
You can package everything into a single installer:
CodexInstaller.exe
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
Your release files will be generated in:
build/windows/x64/runner/Release
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.
Step 2: Enter Application Information
Fill in your application's basic information:
- Application Name
- Application Version
- Publisher Name
- Publisher Website (Optional)
Example:
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 your application name as the folder name.
You may optionally allow users to change the installation location.
Click Next.
Step 4: Add Flutter Release Files
This is the most important step.
Navigate to:
build/windows/x64/runner/Release
You need to include the required Flutter release files.
Select the Main Executable
Click Browse and choose:
CodexApp.exe
This becomes the application's primary executable.
Add Additional Files
Click:
Add File(s)
Select:
flutter_windows.dll
CodexApp.exe
Add the Data Folder
Click:
💡 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:
- Select the folder entry.
- Click Edit.
- Set:
Destination Subfolder:
data\*
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)
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
Installer Name
Example:
CodexInstaller
Custom Icon (Optional)
You can specify a custom:
.ico
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
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
Missing DLL Errors
Ensure:
flutter_windows.dll
is included in the installer.
Assets Not Loading
Verify:
data/
has been added recursively.
Final Folder Structure
Your release folder should look similar to:
Release/
│
├── MyApp.exe
├── flutter_windows.dll
├── data/
├── other dependency files
After packaging with Inno Setup, users only need:
CodexInstaller.exe
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)