NWA-PCUG Newsletter Article
Why I Don't Use Windows Programs' Self-UnInstallers
by Don Two - September 97
(click to email author)

Microsoft had a good idea in setting up criteria for Application Developers to follow in writing "well behaved" software for Windows 95. For doing so, they get the right to add Microsoft's Compatibility Seal to their package.

One of the requirements is that the application include a self uninstall module, as do all Microsoft's newer Windows applications. At first I thought that this was the answer to all the Windows uninstalling problems. Now, I am not so sure.

A case in point. You know that I use the Installation Monitor module in UnInstaller V4.0 to monitor all my Win95 installations. I recently installed a Microsoft approved third party application using Installation Monitor.

As always, I printed out and scanned the Installation Monitor report. My eye caught a reported installation of a .DLL file that I knew was already in the reported location. I looked back at earlier installations and found by what other program it had been previously installed.

I can only speculate how this could happen. Perhaps the code writers for the newer program took the easy way out. Perhaps, when their install module finds an already installed earlier, identical, or later version of their .DLL, instead of writing all the code necessary to negotiate with the user whether to leave the existing file or replace it, they just write over the existing file and show that, in fact, they "installed" their version. That is one scenario which would produce the result I found. There are probably others.

If that were true, Installation Monitor would record the "installation" of the .DLL as if it were for the first time.

On the other hand, let us assume that the code writers did not take the easy way out. Suppose that they wrote their installation module to recognize the existence of the required .DLL, and gave me the choice of overwriting or not. Let's say that I chose not to overwrite. In that case, Installation Monitor would not record the file as installed the second time.

But I fear that the second program's self uninstall module will still list the .DLL file as required and one to be deleted in an uninstall operation.

So, I fear that if I decided to use the self uninstall module of either program, it would uninstall that .DLL file. The remaining program would be in trouble.

That is why I am reluctant to use any program's (including a Microsoft program) self uninstall module. None of them can be aware of what happened before or after their own installation.

I believe that my salvation is to use UnInstaller 4.0 to remove either program. Remember that, before it will uninstall anything, UnInstaller updates its SmartLinks database by scanning your entire hard drive, recording all calls in executable files to drivers, .DLLs, and other files or entries in Windows Support files or directories.

Then, when you DO actually start to uninstall a program, and it's executable calls for a certain .DLL or other file, UnInstaller checks the SmartLinks database to see whether there are OTHER calls, or links, in the executables of OTHER programs to that same candidate for deletion. UnInstaller will advise you of this multiple use before proposing any file in the program you want to delete.

With all the possibilities for collective disaster using Windows program self uninstallers, I'm chicken! But I believe that I CAN trust UnInstaller 4.0 and its SmartLinks technology.

Click here to return to top