2011年5月6日星期五

Uninstall Programs - How to force uninstall a program you cannot uninstall?

At one point or another this happens to every computer user in the world: You install a program, find out that you don't like it, or need it, or that it's plain useless for the task you wanted to use it for, and you want to uninstall it. So you open up the Windows Add/Remove tool, click the button to uninstall the program... and find out that you cannot uninstall the program. In this article I will try to explain how to force uninstall a program, that you cannot uninstall using the Windows Add/Remove tool. Before that, however, I will try to explain what happens during installation.

What you need to know to uninstall a program manually

There are several things that happen during the installation of a program. First, of course, is the copying of files to the specified program folder (which is usually somewhere inside the Program Files folder). Also some files such as shared libraries (.dll files) can be copied into a folder inside Program Files called Common Files and some files such as drivers or shared libraries (again) are copied into the ‘WINDOWS\System32' and ‘WINDOWS\System32\drivers' folders. After that the installer makes some changes inside the windows registry. The windows registry is a unified place where all the settings for programs and for windows itself are stored. The installer can make changes inside the registry for several reasons. For example if a shared library needs to be registered. Or if certain types of files need to be associated with the program being installed, so that the user could open them (e.g. if you install Microsoft Word, then you will be able to open Microsoft Word documents). After this is done, a key is added to the windows registry in a place where the Windows Add/Remove tool looks for installed programs. During the installation all these operations are logged in a special file (e.g. setup.log), and the installation program usually puts that file inside the application's folder along with the uninstaller. When a user tries to remove a program through the Add/Remove tool, windows looks for the registered uninstaller inside the registry, and executes it. The uninstaller goes through the log file and undoes all the changes done during installation. That is, it deletes all the files that have been copied, all the registry keys the installer created etc.

However, if there is no log file, or if there is no record of the changes made to the registry the uninstaller might fail to uninstall the program, and it will stay there untill it is removed by other means.
So if a program won't uninstall, how do you perform a force uninstall?

Well, if you know how to work with the windows registry, you probably can perform a manual force uninstall.

Before I go into detail about how to do this manually, I'd like to say that this is pretty advanced stuff, and if you're not a power user, then perhaps you should consider using specialized software such as the Perfect Uninstaller which allows you to do this in just a few clicks.

If you are a power user, then let's continue. First, let's see how to remove the program from the list of installed programs. To do that you need to open the registry browser:

Click Start and choose Run in the menu (If you're using Windows Vista then press Win+R on your keyboard).
Type regedit and hit Enter.
On the left side is the registry settings tree, use it to go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Inside that key you'll find a lot of keys that belong to different programs. Some are named after the program's name, others as a mix of numbers and letters that makes no sense. Look through each of them until you find one that has the key DisplayName (on the right) with your program's name in it.
Notice the key UninstallString - this key points to the uninstall program, and the log file usually resides in the same folder as that program.
If you delete the key in which you've found the DisplayName key with the value equal to your program's name, then your program won't appear on the Add/Remove programs list.

Some programs create new entries in the registry to store their configuration options, these entries can usually be found in the HKEY_CURRENT_USER\Software or in HKEY_LOCAL_MACHINE\SOFTWARE - look for the program name or the name of the company that made the software. Don't delete Microsoft though - that contains Windows settings as well.

Next we have to find all the files that have been copied. Open the folder in which the uninstall program should be, and look for files which are named uninstal.log or setup.log or something similar. The list of files that have been installed is inside this file, you can open it in your notepad and find all of the files that have been copied onto your system. Delete the files and you'll get rid of the program almost fully.

Again, I'd like to stress that if you're new to the windows registry and all of this stuff, and if you don't feel like experimenting with your computer, then, again, please consider using either the Perfect Uninstaller or similar software, I do not want to be responsible for breaking your computer.

没有评论:

发表评论