19

How can I find the GUID of an MSI package? I would like to script the removal of a program on a large number of desktops by using:

msiexec.exe /x ProductCode

Any reason why this would not work for any applications listed in "Add/Remove Programs?"

1

6 Answers 6

18

UPDATE: Try this stackoverflow.com answer instead: How can I find the product GUID of an installed MSI setup? or even this one: Find GUID From MSI File .


The Windows SDK tool Orca will allow you to open and view all tables in an MSI file. Once you have the MSI open, you can either navigate to the Property table and look for the "product code" entry, or you can select "View => Summary Information..." and look for the "package code" entry. Either the package or the product guid can be used for uninstall.

See an Orca screenshot of how to find the product code in the MSI: WiX - Doing a major upgrade on a multi instance install

There are also other ways to find the GUID:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall

It still appears you have to download the MSI SDK to obtain Orca. If you don't have access to Orca and can't be bothered downloading the SDK, any viewer capable of reading a MSSQL database file (com stuctured storage file), should be able to open the MSI file and view the contents. Make a copy of the MSI before opening it in a viewer and open the copy. Just to be sure. Once open you navigate to the Property table and look for the product GUID.

UPDATE: A list of free MSI viewers (towards bottom).

Also check these posts on stackoverflow.com with information on how to uninstall via Powershell:

4
  • It can be a real hassle to get hold of Orca.exe since it is only available as part of the SDK. If anyone is in a rush, I am happy to email you a copy. At the moment Microsoft seems to have put it available only in the full SDK: microsoft.com/downloads/en/… . But as you know Microsoft changes things almost daily. May 28, 2011 at 14:48
  • The SDK is fairly simple to get as well...but you do have to download more. A search can also turn up other MSI editors, such as InstEdit.
    – Sam Erde
    May 28, 2011 at 15:02
  • You can use SuperOrca instead of Orca. Does the same thing and is much easier to catch. Jul 14, 2017 at 20:27
  • Since HKEY_CLASSES_ROOT ist a merge of HKLM:\SOFTWARE\Classes and HKCU:\SOFTWARE\Classes the HKEY_CLASSES_ROOT\Installer\Products resides actually in HKLM:\SOFTWARE\Classes\Installer\Products resp. maybe its HKCU counterpart.
    – TNT
    Jun 19, 2018 at 18:31
7

It is a registry key:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>}

or if the platform is x64 and the application is 32-bit:

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>}
1
  • 1
    Not only that, but the msiexec command is actually contained in a subkey, "UninstallString!" Jan 5, 2015 at 19:27
4

There is also a very helpful GUI tool called Product Browser which appears to be made by Microsoft or at least an employee of Microsoft.

It can be found on Github here Product Browser

The latest version as of (10/9/20) is available here

I personally had a very easy time locating the GUID I needed with this.

3

A light-weight freeware tool like InstEd can be used. Just open the MSI, on the "Tables" tab, click on "Property" on the left, then on the right, locate "ProductCode".

3

In Powershell you can query wmi for installations

$program = Get-WmiObject -class Win32_Product | ? {$_.Name -eq "Java Auto Updater"} 
$program.IdentifyingNumber #IdentifyingNumber is the guid

example to repair

msiexec /fa $program.IdentifyingNumber
1

Revision Number Summary Property:

[T]he Revision Number Summary property lists the product code GUIDs [...]

1
  • That's a pretty vague answer, but I did find what you were referring to. Thanks
    – Sam Erde
    Jul 31, 2010 at 11:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .