NOTE: “Windows Rot” is the name given to the phenomenon that every install of Windows degrades over time, gradually getting slower and slower, using more and more ram, until the computer running it needs to be reformatted and have Windows reinstalled. This phenomenon has existed since Windows 3.1 and is alive and well today more than ever in Windows XP and Vista (although Vista hasn’t been out quite long enough to see some of the worse cases of it).
Grant Gochnauer sent along a link to an interesting blog, Shipping Seven, written by one of the developers on the Windows 7 (Vienna?) team. What I found so refreshing about the blog in general is the complete uncensored nature of it. The author openly criticized Microsoft for things like the 6 GUI libraries currently maintained in Vista and how for $299 the Zune v2.0 is a complete joke compared to the iPod Touch’s capabilities.
There are plenty of interesting entries, but one I enjoyed was about “Windows Rot” and uninstaller applications. Basically the author says that when uninstallers for apps run, they almost never remove their registry entries and frequently leave behind files from their install. I can personally vouche and say this is absolutely true… more and more uninstallers think they are being smart (or just lazy) by leaving half of their apps laying around after the fact incase you ever want to “come back”. When you add up this behavior over time, it’s not much of a surprise that Windows “Rots”.
Flashback to Early 90s…
Do you remember as far back as the QEMM-386 days of computing (Download page)? If you do, then you are (a) a badass and (b) most likely remember another utility from the DESQview for Windows called Install Sweeper… or Uninstall Sweeper… or something like that.
The way this program worked was actually pretty sweet. It stayed resident, and as soon as you were going to install a new piece of software you could trigger the monitor in the Sweeper app to start “watching” your computer for changes, or it would recognize well-known installer names like install.exe or setup.exe and prompt you to turn itself on.
From that point forward the Sweeper app would monitor every change that occurred on your computer (files, registry, shortcuts, etc.) and record it in a script. When you wanted to uninstall that particular application, you would fire up the Sweeper app and run the “script” and it would completely remove it. It was pretty kick-ass.
How Do We Keep Things Clean?
The fact that this Sweeper app recorded everything that occurred as a result of an install was likely what kept your particular install of Windows you used it with from rotting. The “Shipping Seven” blog post about Windows Rot talks about how none of the uninstaller utilities listed on a popular Digg story will help avoid this problem, because they just use the same Add/Remove APIs that Windows Add/Remove does. The author does mention that Microsoft is working on solving this problem, from the looks of it, by way of virtualization. He also points to an existing application, Revo Uninstaller, that exists today and attempts to do full clean uninstalls by Registery/File analysis in addition to the standard uninstall software.
I downloaded Revo and gave it a try and so far it seems to do a pretty decent job.
My first few tests were to run it against Half-Life 2, which I had removed from Steam almost 3 months ago but Steam refuses to ever remove the Add/Remove icons it adds. Also the Steam directory for Half-Life 2 still contained almost the entire game… nice job steam!
To get started I selected the Half-Life 2 icon from the main Uninstaller menu (screenshot at top of post) and hit Uninstall. At this point Revo asks you what kind of uninstall you want to perform:
I chose Advanced, because I wanted Half-Life 2 gone! (still a good game… but how many times can you play through the same game?!). Revo first ran the normal uninstaller for Half-Life 2, which is to launch Steam in this case. As usual Steam just sat there after starting, and did nothing.
After closing Steam you hit Next and let Revo do it’s additional deep scans. The deep scans turned up plenty of registry entries and files still hanging around for Half-Life 2 infact:
I killed those off and continued on my way. I continued to use Revo with a few other apps and everything seems to be hunky dory at the moment.
I would point out that you might considering combining Revo Uninstaller and CCleaner because if you already have a dirty install of Windows, using CCleaner to get that registry a bit cleaner and get those dead files out of there will help. Using Revo Uninstaller from that point forward should keep things cleaner than normal, but optimally you would have used it from Day 1 of your new install of Windows (might be a good habit to start with clean installs?)
Overall another handy utility to file away in your brain if you are troubleshooting a bogged down/dirty install of Windows or just trying to pick up new habits. Hope it helps!