tags:

views:

143

answers:

2

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?

A: 

That key maps to HKEY_CLASSES_ROOT\Installer\Products\.

Alex K.
HKEY_CLASSES_ROOT\Installer\Products\ doesn't include path to installed program. Where ca I find it?
It doesn't need the path to the app that was installed, what if it installed 10 applications?, all it needs is the path to the uninstaller (or .msi module).Take a look @ the output of "wmic product list" at the command line.
Alex K.
Actually I need to determine application location (disk drive) in order to estimate available disk space before installing msp patch. Can I determine location of installed application if I know only guid in HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>}?
+2  A: 

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.

William Leara
Hidden and encrypted - really?
Rup

related questions