Where are all the possible locations of the UninstallString registry entries?

I am writing a Wix-based installer that should be updated from older, non-msi-based installations. I discovered instances of previously installed components by searching directly in the registry.

To find the uninstaller for a component, I look in

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\MyProgram 

And get the UninstallString value. This is fine, but I realized that for a 32-bit installation on a 64-bit machine, the record is actually on

 HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MyProgram 

Should I look elsewhere?

+6
source share
2 answers

There is a third entry:

 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall 
+5
source

I checked this and these are the only places. The second is used to store 32-bit programs on a 64-bit version of Windows. There are no other cases requiring verification.

+2
source

Source: https://habr.com/ru/post/913026/


All Articles