no faff

C:\Windows\Installer Windows fills this folder but never tidies it.

It caches Windows Installer (.msi) files. Every app installed this way leaves a copy of its installer here, plus another copy for every patch on top. On a long-running machine that adds up to tens of gigabytes, sometimes a lot more.

InstallerClean asks Windows which of those files are still needed and offers to delete the rest. It's free and safe (see below).

Download the portable exe, run it, press Delete, confirm. That's it. It takes seconds and everyone on Windows might as well run it once.

  • MIT open source
  • No ads or tracking
  • Clean on VirusTotal
  • Windows 10 and 11

Why this exists

About C:\Windows\Installer

C:\Windows\Installer is where Windows keeps a copy of every .msi installer that has run on the machine, plus the .msp patches that updated each one. The copies stay around because Windows needs them to repair, update or uninstall the software later. The folder is hidden by default and only administrators can open it.

Apps that come in via Windows Installer leave one .msi per install and another .msp for every patch on top. Office, Adobe Reader, runtimes like Visual C++ Redistributables and most enterprise software work this way. Patches don't delete their predecessors. Uninstalling the software doesn't clear them out either. Windows itself never goes in to tidy.

On most machines no one notices the folder is there. On a machine that's been running for a few years, especially one with a lot of .msi- based software, it can quietly pass 100 GB. Disk Cleanup leaves it alone; DISM targets a different folder (WinSxS). The only safe way to clean it is to read the Windows Installer database itself and act on what it says, and no built-in tool does that.

If you've searched for help with the folder you know how it usually goes. Someone asks how to clean it. They're told to run Disk Cleanup. They try it. It frees up 600 MB of a 180 GB folder. The thread goes quiet.

All of the threads I've found tend to recommend the same things which don't solve the problem, and then go dead.

ksparks519r/Windows10

Or they're told not to touch it at all. In one thread, someone with a 60 GB Installer folder was told "don't mess with it." When they asked what they should do instead, the reply was "I just told you."

The official Microsoft stance is leave it the hell alone.

DrDan21r/WindowsHelp

The advice is right if it means "don't delete files in here by name and date". The folder is owned by Windows; going in blind really does break the way Windows updates and removes software. The advice is wrong if it means "there is nothing safe to remove". Windows already keeps a database of what's still needed and what isn't. InstallerClean reads that database and only flags installers for software you've already uninstalled, and patches that newer ones have replaced. Everything in current use stays where it is. Move sends the rest to a folder you choose; Delete sends them to the Recycle Bin. Nothing is touched until you confirm.

The pain is loudest from sysadmins. One r/sysadmin thread describes Adobe Acrobat as the recurring culprit:

I've had this issue on countless computers. The drive is full, I check what is taking up the space, and it's always a 50 GB+ Windows Installer folder, sometimes in the 100s.

Loof27r/sysadmin (87 upvotes)

In the same thread, ten admins ask in the replies and DMs for the PowerShell script another commenter mentioned having written. That script never gets shared. The pattern is consistent across every thread: real demand, no maintained tool, the conversation peters out. InstallerClean is the maintained tool.

How it works

What you'll see

Double-click the exe, click Delete (or Move), confirm.

  1. 01

    It scans on launch

    The scan runs as soon as the app opens. Takes seconds.

    InstallerClean scan in progress
  2. 02

    It tells you what is removable, and why

    The main window shows the total: how much is still in use, and how much is removable. You don't need to, but you can click Details for the per-file list of both groups, with the publisher, product name and signing certificate pulled from each file's installer metadata.

    InstallerClean main window showing how much is still in use versus removable
  3. 03

    Delete to the Recycle Bin, or Move to a folder you choose

    Delete sends the files to the Recycle Bin so you can restore from there if anything breaks. Move puts them in a folder you choose, so you can keep them a while and verify nothing breaks before deleting for good. A confirmation dialog shows the count and size before either runs.

    Delete confirmation dialog showing the file count and space about to be freed
  4. 04

    Done

    You see how much was freed. After a successful clean there's an optional Send button. It appears once per machine, ever: a short summary so I can tell whether IC is actually helping anyone.

    Completion screen with the amount of space freed and the restore hint

Trust

Is it safe?

Yes. The app only flags files that the Windows Installer database itself reports as no longer needed; it doesn't guess based on filenames or dates. Delete sends them to the Recycle Bin so you can restore from there; Move puts them in a folder you choose so you can verify nothing breaks before deleting for good. Nothing happens until you confirm.

The app is unsigned because an EV signing certificate costs hundreds of pounds a year and this project is donations-funded. The items below are what you can check yourself.

~12,300

downloads across GitHub, MajorGeeks and Softpedia, no reports of harm

51

GitHub stars since the first release in February 2026

7 / 7

MajorGeeks voters rated it Geek-o-licious (their top rating)

As of 28 May 2026. Softpedia and MajorGeeks both run their own scans before listing.

  • Open source, MIT licensed. Source on github.com/no-faff/InstallerClean. CI builds and tests every commit.
  • No automatic telemetry, no background network. No version pings on startup, no analytics, nothing in the background. The app only makes a network call when you click one of two buttons. Check for updates queries GitHub's releases API. Send summary shows you exactly what the app would send (counts, app version, your Windows family and architecture, an outcome label; no file names, no usernames, no machine identifiers) and waits for you to confirm or close the window.
  • No bundled extras. No toolbars, no third-party offers, no upsells. It does what it says on the tin.
  • Hashes published. Every release ships a SHA-256 sidecar alongside each download for binary verification.

All three builds pass VirusTotal cleanly across every engine. The links below open the scans so you can re-check whenever.

Softpedia listing · MajorGeeks listing

If you've heard of PatchCleaner

About PatchCleaner

PatchCleaner by John Crawford is the other tool that does this. It's free and it works. Three things to know.

The last release was 3 March 2016

Ten years without an update. The developer's own page lists 3/3/2016 as the release date for v1.4.2, the current version.

The source is closed

So nobody has been able to pick it up and keep it going. You can't read what it does, you can't fix what it gets wrong, you can't fork it.

It excludes Adobe patches by default

PatchCleaner ships with a substring-exclude filter that leaves Adobe's .msp patches in place by default. On machines where Adobe Acrobat has accumulated a lot of patch history, that can be a sizeable chunk of the cache:

I've downloaded Patchcleaner to delete the orphaned .msp files... 29 GB of the files are "excluded by filters", so Patchcleaner doesn't seem to help.

HeatherBunny1111, r/techsupport

InstallerClean has no exclude filter. It identifies superseded Adobe patches via the Windows Installer patch-state field and offers them up alongside everything else.

Download

Three builds, choose one

All three pass clean on every VirusTotal antivirus engine.

Windows SmartScreen will say "Unknown publisher" on first run. Click More info, then Run anyway. This is normal for unsigned open-source software, and the VirusTotal scans above are the cross-check.

Or install via the command line
winget install NoFaff.InstallerClean

scoop bucket add no-faff https://github.com/no-faff/scoop-bucket
scoop install installerclean

Real reports

How much space people have actually freed

What's in there to clear varies a lot by machine: one that's run years of updates and heavy software like Acrobat, Office or big dev tools can be holding tens of GB.

Across the 59 reports people have been kind enough to send in (thanks 🙏) since v1.8.0 added the option:
Outcome Share Smallest Median Largest
Nothing to remove 69% - - -
Freed space 31% 0.2 GB 12 GB 327 GB

Common questions

Anything else?

Why does Windows SmartScreen warn about the download?
Standard "Unknown publisher" warning Windows shows for any unsigned download that has not built up a reputation yet. Click More info, then Run anyway. EV code-signing certificates would skip the warning, but they cost hundreds a year plus a hardware token, and the project would rather stay free. The source is on GitHub, SHA-256 hashes ship alongside each binary, and VirusTotal links are in the safety section above.
Will the app connect to the internet?
Only on a button you click. Two opt-in buttons make a single HTTPS request when clicked. Check for updates in the About box asks GitHub whether there is a newer version. Send summary on the completion screen opens a window showing the exact JSON the app would send to a No Faff endpoint (counts and category labels only; no file paths, no user names, no machine identifiers); review it there and press Send to confirm or Cancel to back out. The app makes no other network calls. No background checks.
Why does it ask for Administrator?
Windows locks C:\Windows\Installer down so only administrators can touch it. Reading what is in the folder, asking Windows what is still needed and moving or deleting files all need Administrator permission. There is no other way.
Will Windows complain if I remove these files?
Not normally. InstallerClean only removes files Windows itself reports as no-longer-needed, so it will not cause this. And if a needed installer file ever goes missing from C:\Windows\Installer for any reason (an old cleaner, a manual delete, anything), the fix is the same and simple: download the installer for that program from the vendor and run it. It refills the cache, any later uninstall or repair then succeeds, and you keep all your settings with no data lost. Even the worst case anyone could picture here is a one-minute re-download.
What about that other big Windows folder, WinSxS?
C:\Windows\WinSxS is a different folder with different rules and InstallerClean does not touch it. From an elevated command prompt, Dism /Online /Cleanup-Image /StartComponentCleanup is the supported way to clean it.
Does it work on Windows 7 or 8?
Untested and not supported. InstallerClean targets Windows 10 and 11.
Is it suitable for sysadmins or mass deployment?
Yes. There is a separate installerclean-cli.exe for headless use. It returns distinct exit codes per outcome: 0 for full success, 2 for partial success, 1 for hard failure, 75 for transient conditions (another InstallerClean is already running, or Windows Installer reports a pending transaction; safe to retry), and 130 for Ctrl+C. The CLI also writes a per-run summary to the Windows Application event log and respects the same single-instance mutex as the GUI.

Worth running once

If the folder has grown big on your machine you're in the right place. If it hasn't, the scan tells you that quickly and you're done. It takes less than a minute either way. Free, open source, clean on VirusTotal across every engine. Some machines have nothing in there to free; others have a few GB, tens of GB, sometimes more. One run in May 2026 freed 327 GB.

Download for Windows

Download, run, read the result, click Delete or Move.

That's it.

If InstallerClean helped, consider supporting No Faff →