Should Software Makers Clean Up After Themselves?

In case you don’t already know, I make my living by writing articles, white papers, books, video scripts, help files, technical documentation, and other forms of information about computer software, systems, and networks. I’ve been doing this for a long time (since 1986 part-time, and since 1994 full-time). Over the years, I’ve seen some terrible things happen to PCs when users decide to uninstall some particular piece of software, use the vendor’s uninstall utility, and then start encountering problems.

Trouble Sometimes Follows Incomplete or Sloppy Uninstalls

“What kinds of trouble?” you ask. “All kinds,” is my answer, based on numerous forays into this arena. In fact, I once deliberately installed a notoriously imperialistic application, just to see if I could find and remove all traces of its existence on Windows XP after it had been uninstalled. A short summary of the final outcome was “Close, but no cigar.” By my reckoning, I spent close to a full 8 hours trying to eliminate all evidence that the program had once resided on that machine, and managed to find and delete 98% of everything. Thank God this was a legitimate program and not a piece of malware, though, because had it been malign rather than merely horribly engineered, I might still be fighting its effects off to this very day. Canny (or perhaps, horribly experienced) PC guy that I am, however, I restored the backup I had created before installing this code in the first place and thereby got rid of all traces of the program by going back in time to a point before that code ever touched any of my hard disks or memory.

Here’s a short list of the kinds of trouble you might encounter in the wake of an incomlete or sloppy uninstall of some piece of software you decide you no longer want or need:

  • Registry items: there might be orphaned or invalid registry items of all kinds left behind, some of which might try to execute programs that are no longer present with varying degrees of delay or instability as a result
  • Files and folders: there might be file system entries all over the Windows drive, including in the Program Files directory, inside Windows, or Windows\System32, and in other places as well
  • Icons and shortcuts: Visual litter can remain behind on your desktop and in your menus, if the developers don’t systematically hunt them down and get rid of them; sometimes this extends as far as Control Panel items that the program installs but then fails to remove upon uninstall.
  • Startup-items or services: though this is rare, you’ll occasionally even run into left-over startup items or services on your Windows PC that persist even when the program that introduced them has long since been removed.

A Recent Case in Point

For a video script I was hired to write for, I recently installed a program from a source that has been notorious for creating software that didn’t leave systems upon which it was installed either completely, cleanly, or gracefully. Forewarned, I not only took a backup before the install, I also made sure to take a Restore Point as well. I actually had to install, uninstall, then reinstall the program so that I could first learn how it worked and what needed to be documented, then go back and do it over again while taking screen shots and making notes for the script that would result.

After the first install, I uninstalled the program to prepare for the second round. Just for grins, I ran Revo Uninstaller, a free and capable Windows uninstall utility that tracks what the uninstaller program does and then systematically follows up when the uninstaller finishes to get rid of any leftover files, folders, registry entries, shortcuts, and other dangling participles. In this particular case, I use the “Advanced” Uninstall mode (see the screenshot) because I wanted to dig as deeply as possible to see what kinds of stuff got left behind.

 Revo Uninstaller Mode Selections

The Advanced mode digs most deeply into your PC’s registry and hard disk to seek out traces left behind from an uninstalled program.

I was amazed, though not surprised, at the detritus that was left behind. Despite the uninstaller’s promise that the program had been removed from my computer, here’s what Revo Uninstaller found:

  • 462 Registry Entries, most (360) in the Interface key inside HKEY_CLASSES_ROOT related to various MIME types used for instant messaging, along with some related file types and type libraries. There were also a couple of Firewall rules left over, presumably to let the application regain access to the Internet should it ever be reinstalled. It took Revo Uninstaller less than a second to delete all of them.
  • 151 files, primarily from the ProgramData directory where Windows Vista keeps application settings, databases, message stores, and apparently also, application updates. Once again, Revo Uninstaller got rid of this stuff in under a second. According to the recycle bin properties, this consumed just under 1 MB of disk space (a fairly small portion of the 26 to 27 MB the full-blown application consumed on disk when still running).

You can’t go back again, either!

When I ran this whole scenario through for the first time for the script, I went back to reinstall the program for the second run-through. Imagine my surprise when it refused to install, informing me that “The installer is damaged or corrupt.” Even after downloading a new image from the vendor’s Web site, the same thing happened again.

This was where my initial pre-install System Restore Point came in handy. I rolled it in, and after that the application installed without demur. I have to guess that even Revo Uninstaller must have missed something that the installer found in the registry in incomplete or mangled form, and that was enough to render it unusable. Back to a more pristine registry, thanks to the Restore Point, and the difficulty melted away.

That’s How It Goes Sometimes, But Is That OK?

The crux of the story, of course, is that I have trouble understanding how a responsible development team can provide users with an uninstall utility that either deliberately or stupidly leaves traces of an application behind, even after the user wants it gone. To be fair, this application asked if I wanted to leave personal account and configuration behind in case I might wish to reinstall in the future. But I did answer in the negative, and believe that the uninstaller should have cleaned up everything itself because that’s what I wanted it to do. Thank goodness for capable cleanup utilities like Revo Uninstaller that will help you do this kind of thing anyway.

Because I install and uninstall so many programs on my test machines, I’ve learned to observe what Revo Uninstaller finds after the maker’s utility is complete. My personal observation has been that between 50 and 60 percent of all uninstallers make a clean sweep of the system in removing the applications to which they’re tied. This is witnessed by Revo Uninstaller finding neither Registry nor file system leftovers after it follows up behind the uninstaller to see what’s still there that presumably shouldn’t be. Isn’t this a standard to which we should hold ALL software developers? Why should they get to leave our systems littered with mysterious stuff that we don’t want or need, taking up disk space, and causing occasional problems. I’d like to see this kind of behavior from all the software that gets installed on any of my PCs, especially when it’s time for that software to leave!


Leave a Reply

Your email address will not be published. Required fields are marked *