17 May 2018

Explaining the %WINDIR%\Installer Folder

While recently writing an MSI uninstaller script, I needed to be able to associate the GUID with the applications name. In the process, I was finally able to associate the MSI files inside the Installer folder with the application.

You may wonder why you want to know this. Most of this is probably just for general knowledge, but there are a couple of instances I can think of on why you might want to know. For one, I used it as described above. You may also want to know this if you are checking to see if the MSI is available to do an uninstall or a repair.

The MSI and MSP files inside the %WINDIR%\Installer folder are associated with the installed application or update in the following registry location:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\<Unique Identitier>\InstallProperties

The screenshot below shows an example of the unique MSI filename in the %Windir%\Installer directory associated with the installed application. The association is made under the LocalPackage.


Related Posts:

  • Enable/Disable Offline Files Here is a VBScript that will either enable or disable offline files. It can also be done as a policy by modifying the registry key listed below, or through a group policy. You can download the registry key below from here. … Read More
  • Apple QuickTime Installation In order to deploy QuickTime, you will need to extract all of the components to a directory. The installation executable that is downloaded from Apple's site can easily be opened with 7-zip to extract them. In the environmen… Read More
  • Adobe Reader X Installation Script with Previous Version Uninstaller Scripts This script will uninstall all previous versions of Adobe Reader back to 4.x, thanks to this user's list of GUIDs that I took and expanded into a script. Some of the versions in there encompass all the previous versions befo… Read More
  • Adobe Flash Installation Script This script will install both the x86 and x64 versions of Flash Player 11.x. It uninstalls all previous versions of Flash first. Flash 11.x is then installed, and finally the mms.cfg file is copied over to set Flash to autom… Read More
  • Trimble Sketchup Installation Script This script will install Trimble Sketchup 8, formerly Google Sketchup, with a network license on either an x86 or x64 machine that does not have Sketchup 8 installed. The first thing you want to do is to create a network lic… Read More

3 comments:

  1. One of the things to remember about the localpackage is that it is not just the a copy of the msi that ran on install. It's actually the merge of the msi and the applied transform (s) logic. This is how on repair your installation remembers the application language and other properties supplied by your administrator or ESD solution. Examining size of the locally cached msi will show you they are substantially smaller then the original msi. The files are referenced when needed for repair or reconfiguration from the full msi referenced in the installsource regvalue. Lost the source connection? Just find the original msi, update the regkey and you are back in business for repair.

    ReplyDelete
  2. O and another tip, on the %windir%\installer folder add the column "Subject" to "Name", "Date Modified", "Type" and "Size" that are already shown by default. The Subject column will tell you what each weird msi name actually is without going through registry manually.

    ReplyDelete
  3. This is not true that it is a merge, at least with Win 7 and later. I know this because Win7 started caching the original full MSI without stripping out the *.cab files so it could preserve the signature on the package and during maintenance operations show a valid publisher signature. IIRC before then, transforms were also cached and the log would show the transforms loading from the cached location.

    ReplyDelete