There are some applications that are not shown by name but by ProgID, is there any way to get the name of that key in the registry?
https://docs.microsoft.com/en-us/windows/win32/com/-progid--key
CodePudding user response:
Microsoft recommends that ISVs create progids in the form of Company.Appname
or Company.Appname.Suffix
but that is irrelevant since the uninstall key name you are interested in is not actually a progid at all! Progids are used by file/protocol associations and COM. Some browsers use Appname.Hash
where the hash is calculated by hashing the path.
The uninstall key name can be anything (but hopefully does not collide with anyone else). MSI installers use a GUID (this GUID maps to something MSI related, the product code). Other installers often use some variation of the application name.
You should enumerate all the uninstall registry keys and compare the start of the key name to whatever app you are interested in and/or look at the strings (like DisplayName, Publisher and UninstallString) inside the uninstall key.
Powershell knows how to map the MSI GUIDs:
get-wmiobject Win32_Product | Format-Table IdentifyingNumber, Name