PDA

View Full Version : MSI AND HKLM\SOFTWARE\Classes\Installer\Products



oeb
09-10-2018, 05:32 AM
A client is using an automated deployment system and wonders why our software does not create a registry key (GUID) in HKEY\SOFTWARE\Classes\Installer\Products. Their system relies on this key to verify that our software is installed. As far as I can find out this key is related to MSI. I have tried to create a MSI using #exe2msi, but still nothing appears in the registry.

I also tried to set the project to "Installer type: Microsoft Windows Installer (.MSI)", but it fails with "Compiler error: SetupBuilder Windows Installer (.msi) compiler (SBMSI) not available." According to the documentation this is "future functionality"?
The "Package GUID" on the MSI Info tab appears to be the GUID they are looking for.

linder
09-10-2018, 06:30 AM
Hello,

because this key should not be used to verify that a software is installed.

The correct location (Windows Development Guidelines) to register a product with Windows is HKLM\Software\Microsoft\Windows\CurrentVersion\Uni nstall and HKLM\Software\Wow6432Node\Microsoft\Windows\Curren tVersion\Uninstall. That's the location where Add/Remove Programs gets its information from.

The above HKEY\SOFTWARE\Classes\Installer\Products is for MSI installs and tells only the half truth.

BTW, you can create your own setup entries in this key, but it is NOT recommended.

Friedrich

oeb
09-10-2018, 07:23 AM
Thanks for the clarification. I also thought "Uninstall" was the right place to check - I have never noticed the "Products" location before (and several products don't appear there - not just ours). Luckily the client found a different solution so this was not a showstopper.