how to package your Windows Flutter app into a professional installer (.exe setup wizard like normal software)

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)

  1. Add msix package to your project: flutter pub add msix
  2. 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
  3. 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)

  1. Download Inno Setup.
  2. 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"
  3. 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 .nsi script.
  • Compile it → .exe installer.
    (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.



Leave a Reply