I'm curious what is the best way to detect installed software in computer during wix installation. I know that it's possible to do in a lot of ways. like appsearch, registrysearch, directorysearch and filesearch.
I also know that in windows installer there is MsiGetProductInfo
function and ComponentSearch
in wix, which look for information based on guid.. and also one other possibility is searching in the registry HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
but there are more possibilities. HKCU
, HKLM
and 64 or 32bit?
For me the best option looks something like MsiGetProductInfo
, where I can put the guid of the app I'm looking for and then I get info like installation dir, version..
I read a couple of articles and lots of people are doing this through registry search. and dir search. but what if a patch changes the structure of app dirs? Or changes the registry keys. The guid should be still unique through these changes.
Also my boss told me that he is against searching the registry. So what do you think about this? What is the best option to do it.
Edit: Additional question. it looks to me that not of all installation system using guid.