Description
Right now we have a hybrid of logic between the settings app / runner and the installer. Most is duplicate.
What i think we should do is move most to a common library and have, on uninstall, these be removed, else they are maintained and invoked by the actual application.
- Run at Startup -> we have two modes here, one for admin and another for normal users to prevent UAC prompts on start up
- Reg context menus -> This doesn't require admin rights for image resizer / power rename
- Reg file associates -> come up with way to prompt users on first load to register.
- this will be must more powerful once the Monaco preview pane comes online
- better user prompts for non-supported scenarios (Example, user installs on Win8.1)
Ultimately, these changes should simplify the installer as well as the upgrade process. Chances are there are a few other items that need to be here as well but i think how we currently handle our installer needs to be rethought as we grow and do even more complex scenarios
Workback schedule
.49
- move all logic to centeralized spot
- move elevation from MSI to EXE (bootstrapper) [multiple UAC elevation prompts during updates #8828]
.51
- Move runtimes to MSI
- Verify HKCU vs HKLM for some of the quirks when running as admin
.53
- No more elevation
- Remove Bootstrapper
Plan discussed: ETA Nov 2021 release
- Image Resizer context menu
- PowerRename context menu
- File reg for file explore thumbnails <- based on settings, looks to need elevation
- File reg Preview pane items <- based on settings, looks to need elevation
What I’m proposing is a new process that handles
- Adding context menus
- File reg for thumbnails
- File reg for preview panes
This exe would be called when a user
- Changes a setting that will force us to change
- When we detect on first time / upgrade we don’t have hooks (dialog to confirm)
- Uninstall and we have reg’ed hooks
a. If a user cancels the UAC, we need to validate.
This allows for a single centralized spot for logic, simplifies the Wix installer file, and will allow us to have an easier way to enable the Monaco 150 files.