You open Settings, find the app, click Uninstall. Nothing happens. You click again. The button greys out for a second, then comes back like nothing occurred. No error message. No progress bar. Just a dead click and that particular silence Windows does so well.
I've hit this wall maybe a dozen times over the years, on my own machines and on client laptops I was asked to "just clean up quickly." The first time, I did the stupid thing: I tried to delete the program folder manually from Program Files. Ten minutes later Windows was throwing driver errors and I spent the rest of the evening in Safe Mode. That episode taught me more about how to uninstall stubborn programs that refuse to remove than any tutorial I read afterward.
So here's what actually works, in the order I now use it. No fluff, no "have you tried restarting" unless it genuinely matters.
Key Takeaways
- A dead Uninstall button almost always means the MSI cache is broken or the registry entry points to a file that no longer exists.
- Microsoft's official troubleshooter fixes broken registry keys and corrupted installer caches automatically — try it before anything manual.
msiexec /x {GUID}removes an MSI package even when the Add/Remove entry is gone.- Third-party tools like Revo Uninstaller earn their place when leftovers and reinstall-loops are involved.
- Never delete the program folder first. You'll break the uninstaller and make the problem worse.
- Store apps fail for different reasons than desktop apps — they need a different fix.
Why Windows won't let you uninstall a program
The Uninstall button in Settings isn't doing the removal itself. It's a messenger. When you click it, Windows reads a registry entry, finds the uninstall command that entry points to, and runs it. If any link in that chain is broken, the button does nothing visible.
Three things break most often.
The first is a corrupted Windows Installer cache. Every MSI-based program stores a cached copy of its installer, and Windows reuses that cache during removal. If those cached files got wiped by a cleanup utility or damaged by a failed update, the uninstaller has nothing to run from. The second is a registry entry pointing at an .exe or .msi file that was already deleted, renamed, or moved. The third is a program that's currently running or has a service locked open, so Windows refuses to touch it.
The kind of program that refuses to go
- Antivirus suites that install kernel-level drivers
- VPN clients with background services
- Games installed through a launcher that also manages its own files
- Old software from the Windows 7 era, still using 32-bit installers
- Anything you "cleaned up" with a disk utility that deleted the installer cache
That last one is a trap. I once ran a disk-cleanup tool that was a bit too enthusiastic, and it removed the entire C:\Windows\Installer folder contents. Result: nine programs became permanently uninstallable through normal means. I had to fix each one by hand. Lesson learned — keep that folder out of your cleanup routine.
Fix problems that block programs from being installed or removed
Before you touch the registry, run the tool Microsoft actually built for this. It's called the Program Install and Uninstall Troubleshooter, and it exists specifically because broken uninstall entries are a known, recurring Windows problem.
How to get it and run it
- Download the troubleshooter from Microsoft's official support page — search "Program Install and Uninstall troubleshooter" and pick the Microsoft.com result, not a mirror site.
- Run the downloaded file. It doesn't install anything; it just launches.
- Choose Uninstalling when it asks what problem you're having.
- Select the program from the list it shows you.
- Let it work, then reboot whether or not it says you need to.
What this tool does under the hood is genuinely useful: it repairs corrupted registry keys, fixes the installer cache, and clears out entries blocking a fresh install. On Windows 11 it runs the same way it did on Windows 10 — Microsoft hasn't retired it, which tells you how common this failure still is in 2026.
Honestly? This fixes the majority of cases. I'd estimate seven or eight out of ten stubborn programs I've dealt with gave up after the troubleshooter ran and I rebooted. The ones that survive need the manual approach below.
What if the troubleshooter doesn't find your program?
That happens when the registry entry is so damaged the tool can't read it. In that case it skips the program entirely, and you move to manual removal. Don't take it as a failure — it just means the break is deeper than the automated repair can reach.
How to forcibly delete a program
This is the part most guides skip, and it's the part that actually matters.
Method 1: msiexec with the product GUID
If the program is MSI-based — which covers most traditional desktop software — you can uninstall it directly by its product code, bypassing the broken Add/Remove entry entirely.
- Open the registry editor and go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Check theWOW6432Nodeequivalent too, since 32-bit programs live there. - Find the subkey for your program. The DisplayName value tells you which one it is.
- Copy the value of the UninstallString. If it contains a GUID in braces, use that.
- Open Command Prompt as administrator and run:
msiexec /x {YOUR-GUID-HERE}
If the program isn't MSI-based, the UninstallString will point to a regular uninstaller .exe. Run that path manually from an elevated command prompt. Half the time, the uninstaller works fine — Windows just lost track of where it lived.
Method 2: remove the registry entry, then the files
Only do this when nothing else works, and back up the registry first. Export the Uninstall subkey before you delete anything — it takes twenty seconds and has saved me twice.
Then: delete the program's registry subkey, remove its folder from Program Files, and clear leftover data from AppData and ProgramData. Run a registry scan afterward if you want, though I'll be honest — most "registry cleaners" are overpriced snake oil. Skip them.
Method 3: Store apps need a different approach
Apps from the Microsoft Store don't use MSI at all, so none of the above applies. Use PowerShell as administrator:
Get-AppxPackage appnameto find the packageRemove-AppxPackage [PackageFullName]to remove it- If it's provisioned for all users, follow up with
Remove-AppxProvisionedPackage
This is also how you kill the preinstalled bloat that Settings refuses to let you touch.
| Method | Best for | Risk level | Fixes leftovers? |
|---|---|---|---|
| Microsoft troubleshooter | Broken registry entries, corrupted installer cache | None | No |
| msiexec /x {GUID} | MSI programs with a dead Uninstall button | Low | No |
| Manual registry + file removal | Everything else, as a last resort | High | Partial |
| Revo Uninstaller | Leftovers and reinstall loops | Low | Yes |
| PowerShell Remove-AppxPackage | Store apps | Low | No |
Using Revo Uninstaller when leftovers won't die
Some programs uninstall cleanly but leave junk behind, and some reinstall themselves the next time you launch the parent application. That's the case where a dedicated tool is worth it.
Revo Uninstaller works differently from the built-in uninstaller: it runs the program's own removal routine first, then scans for leftover files and registry keys and lets you delete them. It also has a "Hunter Mode" that lets you drag a target onto a running window to force-remove whatever's behind it — handy when a program has no entry anywhere.
I used it on a stubborn audio driver utility that kept reinstalling itself through a scheduled task I didn't know existed. Revo's leftover scan surfaced the task. That was the real problem, not the program.
Two things to know before you rely on it:
- The free version handles leftover scanning fine. You don't need to pay for this use case.
- Its forced-removal mode deletes registry keys aggressively. On a machine with unusual software, export a backup first.
How to uninstall programs on Windows 10 that cannot be uninstalled
Windows 10 and 11 differ less than people assume here, but two things trip up Win10 users specifically.
The first: Safe Mode. If the program has a service or driver running, uninstallation fails silently. Booting into Safe Mode disables those services, and the normal uninstaller often then works on the first try. I've had this fix cases where nothing else touched them.
The second: hidden system entries. Some programs register under both the 64-bit and 32-bit registry hives. If you only clean one, the entry reappears. Check HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and the WOW6432Node path underneath it.
If you're on Windows 11, the Settings app has more control than Win10's did, but the underlying mechanics — MSI cache, registry pointers, locked services — are identical. The fixes above work the same on both.
Why is my computer not letting me delete apps?
The short answer is almost never "Windows is broken." It's that one of four specific links in the uninstall chain snapped:
- The installer cache was damaged or deleted
- The registry entry points to a file that no longer exists
- A running process or service is holding files open
- You're trying to remove a Store app with desktop tools that can't touch it
Match your symptom to that list and you'll skip the guessing. Button does nothing? Registry or cache. Uninstaller opens and immediately closes? Missing source files. Error about a file in use? Kill the process or reboot into Safe Mode first.
The one thing you should genuinely stop doing is deleting the Program Files folder and hoping Windows catches on. It doesn't. It just makes the program half-gone, which is the worst state to be in — the entry still shows, the files are scrambled, and now nothing can find the uninstaller. I made that mistake once. I won't make it again.
Start with the Microsoft troubleshooter. If that fails, find the GUID and run msiexec /x. If you're still stuck, that's when a tool like Revo earns its keep. In that order, most stubborn programs don't survive past step two — and the ones that do were never going to leave quietly anyway.