Solid State Drives (SATA and NVMe) are fast becoming the norm for many users to place their Windows install onto. Because prices for larger capacity drives are still quite expensive, many users have smaller capacity drives. If you have a smaller SSD or your Windows boot partition isn’t that large, you need to watch every Gigabyte that goes onto it or space can fill up pretty quickly.
Using tools like TreeSize or SpaceSniffer to find what is taking up excess space on your drive might show that the C:\Windsows\Installer folder is one of them. If you check the folder, you will most likely find a lot of MSI and MSP files in there possibly consuming Gigabytes of drive space. Do note that the Windows Installer folder has a hidden and system attribute. To see the folder, you will need to select “Show hidden files, folders and drives” and uncheck “Hide protected operating system files” from the Folder Options in Control Panel.Viewing the Property details of MSI and MSP files in the Installer folder could show that they are connected to software currently installed. Others might be from software you have uninstalled or old versions that have since been replaced. Those files should be no longer needed and can be deleted. The problem is identifying them because just deleting any MSI or MSP file is a bad idea as it could be required for updating, patching, or uninstalling existing applications.
Below is an MSP file from an old installation of Microsoft Office 2003 even though that version of Office was uninstalled from the system some time ago.
Here are a few ways in which you can more safely identify and delete redundant MSI and MSP files from the Windows Installer folder.
A Dedicated Cleaning Tool To Removed Unused MSI and MSP Files
Patch Cleaner is specifically designed to clean redundant files from the Installer folder and the tool actually took its inspiration from this very article! Attribution to Raymond.cc is on the about page (thanks HomeDev for the mention). Patch Cleaner appeared in 2015 but there’s been no updates since 2016, so it’s safe to say the program is no longer in development. Both portable and installer versions are available.
Simply launch the tool and it will run a scan and show the results in the window of what has been found. The files still used result is what it believes should be kept and the orphaned files are what can be removed because they are no longer required by any installed software. A Windows install that’s been in use for several years could show several Gigabytes of orphaned files.
If you have adequate space on another drive, it’s best to use the included option and move the files instead of directly deleting them. That way, if you run into a problem, you still have a backup as this process is by no means foolproof. Use the Browse button to locate a destination folder. If you want to ignore MSI or MSP files connected to specific software, an exclusion can be created in the Settings.
Patch Cleaner requires .NET Framework 4.5.2 or newer so Windows 7 users will need to make sure their installed .NET versions include it. Patch Cleaner works on Windows 7, 8, 10, and Server 2008/2012.
Use an old Microsoft Utility
One of the old tools that could do this was MsiZap which was developed by Microsoft. The tool is available with The Windows Installer Clean Up Utility (Msicuu) which is basically a frontend for some of MsiZap’s commands. Microsoft discontinued both MsiZap and Msicuu some time ago after saying they were causing too many issues, but many users still use MsiZap with some success. Download the Windows Installer Clean Up Utility and then extract it with 7-Zip to use the MsiZapU.exe.
Open a Command Prompt, type MsiZapU.exe G and press enter. The G command tells the program to remove any orphaned cached Windows Installer data files. While testing we got an error on both Windows 7 and XP similar to the following although it did say it had cleared some orphaned files out.
MsiZapInfo: Performing operations for user S-1-5-21-598190838-2299067166-971484642-1000
Removing orphaned cached files.
Error enumerating Products key for S-1-5-21-598190838-2299067166-971484642-1000 user. Error: 6.
FAILED to clear all data.
MsiZap is definitely a tool to be used with caution because Microsoft usually doesn’t pull utilities unless there’s a valid reason to do so.
Windows Installer Unused Files Cleanup Tool
The Windows Installer UnUsed Files Cleanup Tool (WICleanup) by KZTechs is able to scan for orphaned MSI and MSP files in the WindowsInstaller folder and offers you an option to delete them from the comfort of a graphical user interface. For scripts and command line usage, WICleanup also includes a command line version in the archive (WICleanupC.exe).
All you need to do is extract the downloaded ZIP file, run the WICleanupUI.exe and click the Scan button. All the entries that show in the window are orphaned files and manually check the boxes for what you want to delete. Although it has no option to automatically select all files for deletion, you can use the Shift key to multi-select, i.e; click the first file, hold Shift and click the last file, then click one of the selected tick boxes. It would have been useful if this tool offered an option to backup the unused files instead of deleting them in case of any potential problems. Note the website is in Japanese.
Deleting the Unused MSI Entries Manually
Before you simply go into the C:\Windows\Installer folder and start deleting files on your own to free up some space, there is a way to determine which files are orphaned and should be safe to delete. Because the patch files still registered will have a corresponding entry in the registry, those that are missing aren’t necessary anymore.
Heath Stewart over at blogs.msdn.com wrote a small VBScript a few years back that checks the system for registered patch files, and lists those that are. This way you will be shown the files that you SHOULD NOT delete from WindowsInstaller as they are the ones still in use, those not in the list are safe to remove.
Do note that this download isn’t the original VBScript found on the website as that has an annoying OK popup on every registered entry it comes across which can be very annoying because there’s often loads of them. We’ve made a minor modification to output the registered entries to a text file instead.
Don’t forget, these are the currently registered patch files and the ones to not touch. We would recommend you don’t manually delete files from the Installer folder anyway without some experience, and moving them to another folder just in case a problem occurs is more preferable.