now you’re entering the deployment stage
By default, Flutter gives you only a .exe (inside build/windows/x64/runner/Release).
If you want a professional installer (like normal Windows apps that come with Next → Next → Finish wizard), you need a packaging tool.
There are 3 popular ways:
Option 1: Using MSIX (Recommended by Microsoft)
- Add msix package to your project:
flutter pub add msix - Configure
pubspec.yaml:msix_config: display_name: My Flutter App publisher_display_name: My Company identity_name: com.mycompany.myapp msix_version: 1.0.0.0 logo_path: windows\runner\resources\app_icon.ico - Build the installer:
flutter pub run msix:create
Output: AppName.msix
This is a modern Windows installer (like apps from Microsoft Store).
Users can just double-click to install.
Option 2: Using Inno Setup (Classic .exe Installer)
- Download Inno Setup.
- Create a script
installer.iss:[Setup] AppName=My Flutter App AppVersion=1.0 DefaultDirName={pf}\MyFlutterApp DefaultGroupName=My Flutter App OutputDir=installer OutputBaseFilename=MyFlutterAppSetup Compression=lzma SolidCompression=yes [Files] Source: "build\windows\x64\runner\Release\*"; DestDir: "{app}"; Flags: recursesubdirs [Icons] Name: "{group}\My Flutter App"; Filename: "{app}\my_app.exe" - Run the script in Inno Setup → it generates
MyFlutterAppSetup.exe.
This is the classic wizard installer (Next → Install → Finish).
Option 3: NSIS (Nullsoft Installer)
- Install NSIS.
- Write an
.nsiscript. - Compile it →
.exeinstaller.
(Used by apps like Winamp, FileZilla, etc.)
Best Choice?
- If you want modern Windows style → use MSIX.
- If you want classic
.exe setup wizard→ use Inno Setup.







