Locating the original MSI for software deployed via Group Policy


Click here for a scenario where you might need to do this.

Step #1: We need to find the GUID of the original MSI.

We can find this information in the registry of any machine that has the software installed. The information we need will be in one of two places, depending on the architecture of the package in question. If the architecture was x86 (32 bit), we will need to start here:

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

If the architecture was AMD64 (x64, or 64 bit) then we need to start here:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Simply navigate to either of the two aforementioned keys, select the Uninstall key and hit CTRL+F. In the window that appears, type a fragment of what you’re searching for (hint: use any part of the package’s name — e.g., “Box Sync”, “Google Apps”, “Lastpass”, etc. that shows up when you view the package from within Programs and Features) and then hit Find Next:

Searching the registry

For example, if you were looking for the GUID of the x64 Box Sync MSI and you searched “Box Sync”, you might see something like this, found under the HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall key:

Success! We have the package GUID

Or, if you were looking for the GUID of the x86 Google Apps Sync MSI, and you searched for “Google Apps Sync” it will be found under the HKLM\SOFTWARE\Wow6432Node\Microsoft\CurrentVersion\Uninstall key:

Success! We have found the _other_ package

The GUID has been highlighted in each of the previous screenshots — in the Box Sync example, the GUID is: {4E456910-7D68-4AD5-8A4A-CBD4A4635D0E}; in the Google Apps Sync example, the GUID is {091C294E-F243-432C-93E1-DEC4C2B9635B}. Copy it to notepad or the clipboard because you’ll be needing it soon.

Step #2: Use the GUID from the previous step to locate the key that contains the path to the MSI.

Now that you’ve found the GUID of the package you’re looking for, navigate to:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer

… and use the search function to search for the GUID:

Searching the registry... again.

You might have to hit F3 a few times, but eventually, you’ll find something similar to the following two examples — the info we need can be in either of the following REG_SZ keys: LocalPackage or ManagedLocalPackage:

Finally found the LocalPackage value

Finally found the ManagedLocalPackage value

The path to the original MSI will be in either the LocalPackage or ManagedLocalPackage REG_SZ values. With any luck, the file will still exist in that location.

You might be wondering why I didn’t tell you to navigate to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer first, and search for the text — “Box Sync”, “Google Apps Sync”, etc. — but instead, I told you to find the GUID of the package that appears in the Uninstall key, then navigate to the Installer key and search for the GUID. Even with the extra step, finding the key that contains the LocalPackage or the ManagedLocalPackage REG_SZ entry goes faster if you know the GUID.

One thought on “Locating the original MSI for software deployed via Group Policy

  1. Pingback: Removing software that was originally deployed via Group Policy | Under The Desk

Leave a Reply