Products PatchCleaner

Clean your windows installer directory

Windows Installer Directory

When applications are installed and updated on the Windows Operating System a hidden directory "c:\Windows\Installer" is used to store the installer (.msi) files and the patch (.msp) files.

Generally these files are important as during updating, patching or uninstalling software it will use the .msi/.msp files. If you blanketly delete all the files in this folder, you will find yourself needing to rebuild windows.

Over time as your computer is patched and patched again, these installer files become outdated and orphaned. They are no longer required, but they can take up many gigabytes of data.


PatchCleaner identifies these redundant/orphaned files and allows you to either:

  1. (Recommended) Move them to another location. If you want to play it safe, just move them to another location, and you can always copy them back.
  2. Delete them.

How it works

HomeDev has had many queries about how PatchCleaner works and if it can be trusted to do the right thing.

Its pretty simple. The windows operating system holds a list of current installers and patches, that can be accessed via WMI calls, (Windows Management Instrumentation ).

PatchCleaner obtains this list of the known msi/msp files and compares that against all the msi/msp files that are found in the "c:\Windows\Installer" directory. Anything that is in the folder but not on the windows provided list is considered an orphaned file and is tagged to be moved or deleted.

HomeDev cannot warrant that PatchCleaner will not find a false positive and delete a required patch which is why we have added the filter feature to filter and recommend using the move function, that way you can always copy the patches back if required. Please see the Known Issues List at the bottom of the page

CLI - Command Line Interface

As of verison 1.3, patch cleaner implements a CLI, (Command Line Interface).

The application can now be run from the command line with the following switches:

     /d  - This will execute with the delete action.
     /m - This will execute the move action with the default location as stored in your local app configuration.
     /m [FilePath] - This will execute the move action, where [FilePath] is the location you wish to move the files to.

The process will write the output to the console window and also logs the messages to the windows event log.


After 18,000+ downloads, I have had some feedback that a few users are having problems where PatchCleaner is being detected as Malware.

Firstly let me reassure you that there is no Malware contained within PatchCleaner.

To stop PatchCleaner from being detected as malware would require purchase of an SSL certificate and digitally signing the software.

Given this is 100% free software I cannot justify the expense in doing this, so I do apologise for any extra clicks you may have to do to install PatchCleaner but I don't think this will change any time soon.

Known Issues

  1. Adobe Reader patcches are detected incorrectly as orphaned files. As of verson 1.4, PatchCleaner now has an exclusion filter that allows you to filter out the Adobe Acrobat patch files so they can be excluded from the set of orphaned files. The exclusion filters are configurable


  • Windows 7 / 8 or 10,  x64 or x86 (not compatible with windows XP)
  • .Net framework 4.5.2
  • Also, runs on Windows Server, Confirmed on Server 2008 R2 x64 and Server 2012 R2 64

Get it from CNET!


Installation Issues

Some people have encountered some installaton challenges when attempting to install. If you hit problems then I suggest you try the following. 

The installer that you download from the website is a self extracting 7z archive created as per my blog post (

So you can actually open the .exe file with 7Zip and extract the files (setup.exe and PatchCleaner.msi). 

I would then try running the PatchCleaner.msi file directly.


Fig. 1

Searching for you orphaned files

Fig. 2

Getting the details of the orphaned files

Fig. 3

Lets reclaim some disk space

Fig. 4

Details of the product to retain

Fig. 5

Details of the orphaned files

Fig. 6

Exclusion filters

Fig. 7



Released 3/3/2016

Version of PatchCleaner is another point release that  implements the following fixes:

  1. Fix for object not found crash in UI.
  2. Fix for crash on Cannot convert Null to System.DateTime
  3. Error handling for vbScript not configured on PC.
  4. Fix for duplicate patch files appearing
  5. UI enhancement for missing files.

Thats all the bugs fixed now.


Released 2/16/2016

Version of PatchCleaner is a hotfix release due to a crash that was occuring on Windows 7 machines

The hotfix also  implements the following fixes:

  1. Fix for Shell32 program crash
  2. Improved error handling after all the previous crashes.
  3. Improved product crash handling
  4. Improved file access performance
  5. Deep scan mode for improved performance but reduced functionality.
  6.  Move to .Net Framework 4.5.2
  7. Fixes for issues on Non-English versions of windows.
  8. Missing msi/msp file notification


Released 2/10/2016

Version of PatchCleaner implements new functionality, including:

File Details

PatchCleaner now provides the details of:

  1. The files that are still in use and need to be retained
  2. The orphaned files including those files that are excluded via the exclusion filters

Exclusion filters

There is a known issue in previous versions where PatchCleaner falsely identifies Adobe Acrobat Reader patches as not being required. Adobe do something proprietary when it comes to their automatic updating such that if PatchCleaner removes the "orphaned" patches from the installer directory, Adobe Reader automatic updates will no longer successfully install.

The exclusion filters feature allows you to add keywords that are used in "contains" filters to exclude patches that match these keywords. These "contains" checks are applied against the file title, subject, author and digital signature.

PatchCleaner is now pre-configured to exclude "Acrobat" which will exclude any Adobe Reader files from the set of orphaned files.

These exclusion filters are able to altered by you.

Bug Fixes

  • Issue with the "version" checking where version always displayed that version was available for download.

Adobe Reader

If you are concerned that PatchCleaner has detected your AdobeReader patches as orphaned, you could apply the following steps to recover them. (Note: This assumes you have used the move feature and have access to the full list of patches that have been marked as orphaned.)


  1. Install PatchCleaner
  2. Run patch cleaner
  3. Move your orphaned files to your "Move" folder. Patch cleaner should now say you have "0" orphaned files.
  4. Copy your patches from your "Move" location back to "c:\windows\installer"
  5. Run PatchCleaner (or click refresh if you left it running)
  6. Use the delete action.

Any Adobe Reader patches that were copied back to "c:\windows\installer" as part of step 4, will have been excluded from the set of orphaned files and will remain in the installer folder.


Released 11/14/2015

Version of patch cleaner implements a CLI, (Command Line Interface).

The application can now be run from the command line with the following switches:

     /d  - This will execute with the delete action.
     /m - This will execute the move action with the default location as stored in your local app configuration.
     /m [FilePath] - This will execute the move action, where [FilePath] is the location you wish to move the files to.

The process will write the output to the console window and also logs the messages to the windows event log.

Bug Fixes

  • There was code to ensure that the application had write access to the "Move" location. This seemed to cause security issues if your move location was the root of your drive. This functionality has been removed and the application will just log an error if it does not have write permission to the target "Move" location. 



Released 6/16/2015

This version contains some minor fixes, including:

  1. Fix to save the move folder location between sessions. Previously PatchCleaner would not retain you chosen move location.
  2. Performance improvements, by removal of redundant code.

Note: There have been no functional changes to the code

Since version, HomeDev has performed further testing, which involved testing with the latest round of windows updates.

All windows update patches installed with no issues being encountered.

Running patch cleaner after running a large set of windows updates recovered another 1GB of free space.


Released 6/9/2015

Hotfix for issue that was identifying false positives.

There was a bug that was falsely identifying a small number of patches as orphaned when in fact they were not. For example on a test computer it found 42 files worth 300MB of actual patch files that should have been retained.

If you used the move function the recovery process is:

  1.  copy the files back into the c:\windows\Installer directory; and
  2. re-run the PatchCleaner v1.1.0.0  to correctly identify orphaned patches.

If you deleted... Sorry :-(

I ran this for over a month with out any issues before releasing the first version of the product. It was only today that I had my first issue.

I appologise if this has caused any problems.



Released 6/2/2015

Fixes issue with move action crashing.

Added better error capturing around the move logic.

If you have crashes when attempting the move action it will be related to file system permissions. Try choosing a destination location that you have full control over.


Released 5/23/2015

First version of PatchCleaner.

PatchCleaner has been downloaded 140,056 times.
Are you a robot?
Please confirm you are a human to be able to download from this page.


PatchCleaner_1.4.2.0.exe (1.26Mb)
Downloads 64,578

Previous Releases


PatchCleaner_1.4.1.0.exe (1.26Mb)
Downloads 6,730


PatchCleaner_1.4.0.0.exe (1.25Mb)
Downloads 2,257


PatchCleaner_1.3.0.0.exe (1.23Mb)
Downloads 41,326


PatchCleaner_1.2.0.0.exe (1.16Mb)
Downloads 21,898


PatchCleaner_1.1.0.0.exe (1.15Mb)
Downloads 1,165


PatchCleaner_1.0.1.0.exe (1.15Mb)
Downloads 742


PatchCleaner_1.0.0.0.exe (1.15Mb)
Downloads 1,360

Can you create a Command Line version of PatchCleaner?

Yes, we created a command line version of the PatchCleaner in version 1.3.0

I have upgraded to the latest version of PatchCleaner and it is crashing, what should I do?

Between version 1.3 and 1.4 there were changes made to the way PatchCleaner works.

It appears that a direct upgrade leaves some files from the pervious version behind and when the new version starts it fails to start throwing an error like:

FATAL PatchCleaner.App: An Unhandled Execption has occured System.IndexOutOfRangeException: Index was outside the bounds of the array.

The solution to fix this is to do the following:

  1. Uninstall PatchCleaner
  2. Delete the folder and all its contents
    1. 32 Bit computer - C:\Program Files\HomeDev\PatchCleaner
    2.  64 bit computer - C:\Program Files (x86)\HomeDev\PatchCleaner   
  3. Re-install PatchCleaner it should be fixed