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?"
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?"
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:
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>}
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.
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".
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
Revision Number Summary Property:
[T]he Revision Number Summary property lists the product code GUIDs [...]