Improve update experience with Windows installers
Updating Inkscape with our Windows installers is currently sketchy:
- The NSIS installer warns the users if an old installation is present (but only if it was installed by NSIS) and offers them to launch the uninstaller.
- If users fail to do so it results in very bad performance (see bug 1718275).
- Sometimes the uninstallation does not finish (see bug 1712351).
- Sometimes users even "loose" the uninstallation window as it's spawned as a separate process (see bug 1718176)
- If somewhere along the way files are not uninstalled it can lead to all kinds of ugly issues (including Inkscape crashing on startup).
- The MSI installer would be expected to perform better here (as a "standardized" format by Microsoft designed for easy deployment) - but actually does not (see bug 1653574). For this reason we currently present users with an error message and do not even allow them to install Inkscape if a previous version was already installed (again it only detects MSI versions, though), i.e. updating Inkscape is forcefully prevented.
We need to investigate and implement ways to improve this update experience. Some random thoughts in no particular order:
- Warn if installing into a non-empty folder and offer to delete remnants or open the folder (so users can check themselves)
- Improve installation/uninstallation, covering cases like #299 (closed)
- Simplify our installation/uninstallation process by simply deleting the whole installation folder (probably with warnings where appropriate).
We likely want to "encourage" users to install their content into their user profile and not into system locations, something we missed in the past (and partially couldn't as content was only picked up from system locations)
A large goal could also be to simplify our current packaging as a whole (we currently have separate packaging for .msi and .exe installers), however that's no small job! (Especially if do not want to loose features in the process and it's likely to introduce new issues in the beginning).
On a general note all of this is currently blocked by developer resources and is unlikely to change anytime soon. If anybody has experience with NSIS (.exe installer), WiX Toolset (.msi) installer or (insert superior packaging tool that can do both here) can help us out, the support is more than welcome!