end2endzone / ShellAnything

ShellAnything is a C++ open-source software which allow one to easily customize and add new options to *Windows Explorer* context menu. Define specific actions when a user right-click on a file or a directory.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deprecate setup.exe installer in favor of the Windows Installer (*.msi).

end2endzone opened this issue · comments

Is your feature request related to a problem? Please describe.
Version 0.6.1 has two installer. The first one is a setup.exe and a second is build with Windows Installer in msi format. This creates confusion with users that want to simply "click and install". Also, both installers need to be maintained, have issues and does not install everything properly.

Describe the solution you'd like

  • Deprecate setup.exe. Long live the Windows Installer.
  • Merge features of the setup.exe into the Windows Installer:
  • Fix remaining issues about Windows Installer:
    • Generate a new Product GUID for each new package generation.
    • Uninstall previous version before proceeding with a new installation. Nothing to do. This is the default when not using a PRODUCT_GUID and keeping the same UPGRADE_GUID across all package builds.
    • Install in C:\Program Files\ShellAnything.
    • Remove all shortcuts when uninstalling.
    • Remove previous version. - note: the installer does not remove previous version but refuse to install if a previous version is installed on the system.
    • Shell extension registration with installation
    • Shell extension unregistration when uninstalling
    • Add ShellAnything in shortcut names to be searchable on Windows 10.

Describe alternatives you've considered
N/A

Additional context
N/A

ed233f2 Updated installer to support automatic shell extension registration after installation and automatic unregistration when before uninstalling.
The self registration is triggered by an optional feature called Register components.
People that do not like the self registration nature of the installer can disable the feature and use manual registration/unregistration.