Hack 80 Remove Unruly Applications and Uninstall Entries


Uninstalling programs is sometimes tougher than you'd expect; even when you use built-in uninstallers, programs leave bits of themselves all over your hard disk and Registry. Here's how to remove them.

Uninstalling applications can be a tricky business. At a glance, it seems simple: choose Start Control Panel Add or Remove Programs, then choose the program you want to remove in the Add or Remove Programs dialog box, and click Remove.

But uninstall routines are generally only as good as the programmer that made them. And that means that unruly programs commonly leave bits of themselves behind, even after you uninstall them. They might leave behind DLLs that load every time you start Windows, as well as Registry entries, even though the original program is gone. In both instances, your system performance takes a hit loading resources for programs that no longer exist. The programs also might leave behind unnecessary files and folders, which take up hard disk space.

There's a good deal you can do to clean up after these unruly applications, though. Follow this advice:

  • After you've run the uninstallation routine, run the Registry Editor [Hack #68], search through the Registry for any keys and values the program left behind, and then delete them. Frequently, you can find the settings for the program at \HKEY_LOCAL_MACHINE\SOFTWARE\Publisher\Program Name where Publisher is the name of the software company that made the program and Program Name is the name of the software package (in the case of companies with multiple products like Symantec or Adobe). For safety's sake, make a backup of Registry keys [Hack #71] before deleting them.

  • Before uninstalling the application, look through your hard disk to see where the program stores its files and folders. Then, after you run the uninstallation routine, look for those files and folders and delete them if they haven't been deleted. Often, you'll find them in C:\Program Files\<Publisher>\<Program Name>.

  • After uninstalling the program, make sure that no parts of the program are still being run at startup. To do that, delete their entries from \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run and HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

  • Create a restore point so that you can restore your system to the state it was in before you installed the program. Choose Control Panel Performance and Maintenance System Restore and follow the wizard for creating a restore point. If you're testing out an application and aren't sure that you're going to keep using it, create a restore point before you install it. Then, after you've installed the application and decided not to use it, revert to that restore point instead of using the uninstallation routine; it's more thorough.

  • Use RegSpy [Hack #72]. This downloadable program lets you watch and track changes made to the Registry whenever a program installs and runs, and it lets you roll back changes the program made.

9.2.1 Remove Stubborn Uninstall Entries from Already Uninstalled Programs

Inexplicably, even after you've uninstalled some programs, their entries still remain listed in the Add or Remove Programs dialog box. As time goes on, it's easy for you to forget what programs you've uninstalled, so when you see their entries there you'll assume the programs are still on your hard disk, but when you try to uninstall them you'll receive an error message. There's an easy way to remove those entries. First, try to uninstall the program from the Add or Remove Programs dialog box. If it doesn't uninstall, run the Registry Editor and open \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Look for the entry of the uninstalled program (it will be the program name) and delete it. In some instances, instead of the program name, you'll see an entry like this: {3075C5C3-0807-4924-AF8F-FF27052C12AE}. In that case, open the DispayName subkey in that entry; it should have the name of the program?in this instance, Norton Antivirus 2002. When you find the proper entry, delete it. For safety's sake, make a backup of Registry keys [Hack #71] before deleting them.

9.2.2 Remove Access to Certain Microsoft Programs

As part of a settlement in a federal antitrust case, Microsoft was forced to allow non-Microsoft programs to be the default applications for certain uses, such as email, web browsing, and digital entertainment. Users also had to be allowed to remove access to Microsoft programs that accomplished those tasks. That ruling came well after Windows XP was shipped, though, so many copies of XP don't allow you to do that. However, if you have a later version of XP, or if you have installed the Windows XP Service Pack 1 (also called SP-1), your copy of the operating system has those capabilities.

To find out if you have SP-1, right-click on My Computer and look on the General tab. The words "Service Pack 1" will be there if you have SP-1 installed.

To remove access to Microsoft programs, first find out if your system has the capabilities. Choose Start Control Panel Add or Remove Programs and see whether the Add or Remove Programs dialog box contains a button in the left pane titled Set Program Access and Default. If it does, you can remove access to Microsoft programs. Click that button. You'll find three choices: Microsoft Windows, Non-Microsoft, and Custom. Click on the double-down arrow next to any choice to see more details.

If you choose Microsoft Windows, then your default programs for web browsing, email, instant messaging, digital entertainment, and accessing Java applications will all be Microsoft programs. If you choose Non-Microsoft, the defaults will be the non-Microsoft programs that your computer manufacturer installed on your PC. If you choose Custom, you can pick and choose between Microsoft and non-Microsoft applications, as shown in Figure 9-1.

Figure 9-1. Choosing Microsoft or non-Microsoft applications for certain purposes

Keep in mind that "Remove access" doesn't mean the same as deleting the program. It only means that the icon for the program will be removed. For example, if you remove access to Internet Explorer, it won't actually be deleted from your hard disk; you merely won't be able to see its icon. Also, be aware that not all email, instant messaging, digital entertainment, and web browsing programs will show up on the non-Microsoft or Custom lists, so you won't necessarily be able to use this screen to set them as your defaults.

All this means that the best use for the Set Program Access and Default dialog box is to remove the icons of some Microsoft programs; it doesn't offer a lot of functionality beyond that.

9.2.3 See Also

  • [Hack #17]