project-slim.nsi
Online bootstrapper — small download.
The slim installer (project-slim.nsi) is ~22 MB. It uses the WebView2 online bootstrapper — a 1.8 MB exe that downloads the full runtime from Microsoft at install time. Right choice when bandwidth at install time matters.
When slim wins
- Email distribution — most providers cap attachments at 25 MB
- Web downloads where the conversion drops with file size (every extra MB hurts)
- Users on metered cellular at install — they'd rather download 22 MB once and let WebView2 install over Wi-Fi later
- GitHub release size limits (2 GB per asset is generous, but for older repos, smaller assets fit better)
The shape — minus the WebView2 bundle
# Same Welcome/Directory/Install/Finish flow!insertmacro MUI_PAGE_WELCOME!insertmacro MUI_PAGE_DIRECTORY!insertmacro MUI_PAGE_INSTFILES!insertmacro MUI_PAGE_FINISH# Wails' default bootstrapper macro — downloads WebView2 at install!insertmacro wails.webview2runtimeSection!insertmacro wails.setShellContext!insertmacro wails.files # main binary!insertmacro wails.writeUninstallerSectionEnd
wails.webview2runtime drops a 1.8 MBMicrosoftEdgeWebview2Setup.exe bootstrapper. At install time, it runs that bootstrapper which contacts Microsoft and downloads the ~125 MB runtime if not present.
What happens on the customer's machine
- Customer downloads the 22 MB slim installer.
- Runs it. NSIS prompts: Welcome → Directory → click Install.
- NSIS extracts the main binary + bootstrapper.
- Bootstrapper checks if WebView2 is installed. If yes, skip. If no, download from Microsoft (needs internet).
- Total install time: 30s if WebView2 already there; 2-3 min on a slow connection if not.
When to ship full vs slim
| Channel | Use |
|---|---|
| Web download from your site | Slim — convert better; users typically online |
| Email attachment | Slim — fits in < 25 MB caps |
| USB stick / on-prem install | Full — assume no internet |
| Air-gapped customer | Full |
| In-app auto-update | Neither — uses the raw .exe (chapter 4) |
Ship both, let the customer pick
Grit's release script publishes both as GitHub release assets. Your download page can offer both with a brief description of when to use each. Most customers pick slim; the full is there for the edge case.
Download FieldPOSRecommended:[ Download FieldPOS-Setup-Slim-v1.2.3.exe ] 22 MBDon't have internet during install?[ Download FieldPOS-Setup-v1.2.3.exe (full) ] 150 MB
Quick check
Try it
Compare the two installers side-by-side:
- Build both via your release script
- List the file sizes:
FieldPOS-Setup-v0.1.0.exe+FieldPOS-Setup-Slim-v0.1.0.exe - Install the slim version on a connected PC. Time how long it takes from double-click to first launch.
- Uninstall.
- Repeat with the full version on a disconnected PC.
Paste your numbers in notes.md.
What's next
Last lesson — the branded MUI bitmaps. Make the installer look like YOUR product, not a default NSIS template.
Spot a typo? Have an idea?
Help us improve this lesson. One click opens a GitHub issue with the lesson URL pre-filled — suggest clearer wording, report a bug, or request more depth. The course keeps improving thanks to learners like you.
Suggest an improvement on GitHub