Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find program location in registry, if I know MSI GUID?

I have installed some MSI with GUID (0733556C-37E8-4123-A801-D3E6C5151617). The program registered in the registry: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ ()

Value UninstallString = MsiExec.exe / I (0733556C-37E8-4123-A801-D3E6C5151617)

My question is: how utility MsiExec.exe knows the name and path to the file you want to run when you remove programs? Where in the registry this information can be found?

like image 202
Yuriy Avatar asked Aug 13 '10 10:08

Yuriy


4 Answers

You could try, from the command line:

wmic product where "Name like '%your software here%'" get Name, Version, PackageCode
like image 75
chris Avatar answered Sep 22 '22 17:09

chris


That key maps to HKEY_CLASSES_ROOT\Installer\Products\.

like image 31
Alex K. Avatar answered Sep 22 '22 17:09

Alex K.


You don´t need any software. This is working in Windows 10 and I think its valid for windows 7 as well.

If your Product Code is 0733556C-37E8-4123-A801-D3E6C5151617. Try to find the key C65533708E7332148A103D6E5C516171 (basically it's reversed) once you found it, browse for InstallProperties subkey, if doesn´t exists, try to find other result. Once you found InstallProperties, open and find the LocalPackage Key. And then you have the path for the msi packeage that MSI saves as Cache when you installed your application.

like image 42
Andrés Falcón Avatar answered Sep 21 '22 17:09

Andrés Falcón


Windows keeps Windows Installer configuration information hidden and encrypted in the Registry. It is not browseable with the human eye as other parts of the Registry are.

To query/modify/delete this information, you'll need to use MSI functions.
(Installer Function Reference)

For your particular question, try the function MsiGetProductInfo.

like image 26
William Leara Avatar answered Sep 22 '22 17:09

William Leara