Skip to content

Releases: gersonkurz/msis

Version 3.0.3

23 Jun 08:12

Choose a tag to compare

3.0.3 — 2026-06-23 (tag v3.0.3)

  • WiX 7 support alongside WiX 6, auto-detected at build time; the WiX 7 OSMF EULA is accepted automatically.
  • msis /SETUP-WIX self-provisions the WiX toolchain and required extensions (replaced the earlier standalone setup scripts).
  • LAUNCH_TARGET adds a "Launch" button to the bundle success page (bundle counterpart of the MSI's START_EXE), with the ARM64 path resolved correctly.
  • START_EXE (the MSI "Launch Product" checkbox) is now an MSI Formatted path like [INSTALLDIR]App.exe, matching LAUNCH_TARGET's semantics. It previously needed a WiX File Id, which msis generates opaquely per run — making it effectively unusable.
  • Logo branding overhaul. LOGO_PREFIX now resolves the bundle logo too (previously MSI-only); logo files are searched in the .msis directory → custom-templates → template folder, and the bundle build binds those same paths so an explicit source-relative LOGO_BOOTSTRAP resolves like it always did for the MSI; and a missing/mistyped logo now produces a build-time warning instead of silently falling back to the WiX default. Removed two dead bootstrap*.wxs templates.
  • Installer-hook safety overhaul. The native hook DLL's recursive uninstall cleanup
    (REMOVE_FOLDERS_ON_UNINSTALL, REMOVE_REGISTRY_TREE) once deleted runtime/customer data
    (e.g. a customer's SQLite database). It is now explicit and warned at build time, gated
    consistently across templates, false-value-aware, and exempt-able per file via the new
    RETAIN_FILES_ON_UNINSTALL. The hook DLL (msi-simplica.dll) is now built and shipped by
    this repo
    (native/msi-simplica/, x86/x64/arm64) instead of being a stale external
    dependency, and its retain/cleanup core is unit-tested (just test-hooks, run automatically
    before the DLL build) — see Installer Hooks.
  • Fixes: preserved registry keys; quiet attribute on <execute>; vcredist detection via Burn variables; LOCALAPPDATADIR/INSTALLDIR path collision; fail-on-error on <execute>; options-dialog browse button; test/coverage tooling.