-
Notifications
You must be signed in to change notification settings - Fork 27
Description
Current situation
WinNUT currently uses the Visual Studio Install Projects/Visual Studio Installer Deployment system to build an MSI-based installation package. This system is quite dated (at least as old as Visual Studio 2010), not actively supported by Microsoft and importantly not designed for continuous deployment & integration. The need arises to find a new solution.
Research
On the Visual Studio deployment documentation, the suggestions for creating a Windows desktop installer package are:
- MSI-based installer using the WiX Toolset
- MSI/exe installer packages using the Setup project system (currently in use)
- MSI/exe installer packages created using InstallShield software
- Deploy using ClickOnce deployment system
InstallShield is a proprietary, closed-source and payware solution that does not seem fit for the Nutdotnet/WinNut project. That leaves ClickOnce and WiX which both appear to be decent candidates. WiX and ClickOnce are modern solutions with CI/CD integrations. ClickOnce is already built into Visual Studio and doesn't require additional software to build, so this may be worth looking into first before WiX.
ClickOnce
- Access local and remote data in ClickOnce applications
- Migrate data storage
- ClickOnce and application settings
- Take advantage of app settings
- Localize ClickOnce applications
- Consider impacts of translations
- ClickOnce and Authenticode
- Skipping for now due to complication. Will reconsider if necessary.
- Choose a ClickOnce update strategy
- Remove custom updater and use ClickOnce built-in updating
- Alternatively: keep custom updater, but use GitHub library to fetch update information.
Tasks
- Explore ClickOnce integration with current solution, determine if viable over WiX.
- After production deployment, modify the WinNUT client to support gracefully transitioning from the old MSI system to the new ClickOnce system
- Fix gh-pages publish step has broken git message: "Update to "
Test Installation Pathways
- Nothing -> ClickOnce
- MSI -> ClickOnce
- ClickOnce -> ClickOnce
See also
- Release Building #81
- EV Certificate signing #84
- WinNUT won't run after Windows 11 update #206 (comment)
- Experience with the old installer. Want to make sure it installs quickly, and can handle a running WinNUT instance.