So, apologies that one of my first posts here is a feature suggestion; that probably looks pretty tactless. But I think this suggestion is worth it!
As some of you may know, one of the awesome features in Vista is the file and registry virtualization: I'll focus on the file virtualization here, since it can be a bit more prickly. Let's say that a program tries to store data, not program files, in its Program Files folder. For security reasons, this is discouraged in Vista, so Vista will step in and silently save it to the user's "VirtualStore" folder instead, and retrieve it from there whenever the program needs it.
There are two ways to see these files in Vista: ( a ) Go to C:\Users\Your_user_name\AppData\Local\VirtualStore and browse through it, or ( b ) Go to Program Files and click "Compatibility Files" on the Explorer toolbar.
So, pretty smart idea on Microsoft's part, but sadly it's not that simple. The problem is that when you uninstall a program, its VirtualStore entires aren't necessarily deleted too. This adds up fast when you install and uninstall lots of programs.
Microsoft knows about the issue, and they discuss it here: http://support.microsoft.com/kb/927387/en-us (see Scenario 4). It also made it into PC Magazine: http://www.pcmag.com/article2/0,2817,2325762,00.asp. The verdict seems to be that it's OK to delete these orphaned files.
In one unfortunate example, I installed OpenOffice 2.2, and uninstalled it when 2.4 came out. I'm guessing that OpenOffice 2.2's installer wasn't entirely Vista-compatible, since everything went in duplicate to VirtualStore. So its program files take up 200MB on disk, and even though this was deleted from the Program Files, it's still in my VirtualStore folder. And not only that, but it's still in the respective VirtualStore folders for the three other user accounts on the computer, meaning that there's about 800MB of orphaned junk sitting on the hard drive. Ditto for old Java runtimes and Adobe readers.
I've considered writing my own program that would delete the files, using AutoIT or something. Being a relatively inexperienced programmer, and a high school student to boot, I figure that whatever half-baked solution I would make and post to Download.com would probably be doomed to obscurity, when there's likely lots of other Vista users suffering from this. So then I wondered, what if this were an option in CCleaner?
Piriform: how about it? It'd probably just mean going through each folder in VirtualStore, seeing if it has a match in Program Files, and if not, marking it for deletion.
CCleaner community: your thoughts?
Regards, and thanks for reading,
-Jonathan