Does Test-Run remove all the DLL's added by applications?

Test-Run is designed to return the registry back to normal, and will not remove files added. A program's uninstaller will remove any files that are not required... but may not put the registry back to the way it was.

Let me explain something that a lot of people don't fully understand.... DLL's are "dynamic link libraries". What these are, are files that the"working part of the program" relies on, but may be common to other programs as well.

For instance... if a programmer wanted to get 3D effects for some particular part of his application, then rather than write a massive amount of code to achieve this effect, he would write a separate "free standing" routine that he would "call" into his program when he needed it. This separate routine would be a DLL.

Now, there are certain DLL's which do the 3D effect that he might be wanting, so rather than write any code at all, he refers to that particular DLL. to do it for him. To do this he might look for a DLL on your system called Ctl3d.dll, if it's not on your system... it would be installed automatically by the program installer at set-up. More than likely, the DLL will already be there because it will also be used by other programs. It makes sense to share a DLL that performs a particular task, rather than continually write that code into individual programs.

Having said that, it stands to reason that Ctl3d.dll written in 1995, might be not capable of performing the same 3D effects required in 2000, so as the DLL's are upgraded, the latest version replaces the earlier versions with installation. Consequently, it is sheer stupidity to strive to remove the latest version and replace it with the earlier version on uninstall.

The DLL's added are part of the AUTOMATIC making of the setup.exe program, and are only added if there are older versions on your computer, or not at all. Certain DLL's are marked as "common files", and Ctl3d.dll is a common file... you will have it on your computer as well... it was an example I chose.

Since certain DLL's are being used at the time of set-up, they cannot be overwritten with later versions... in this case, the new version is put into the windows\system folder and named, say, Ctl3d.dl_. Then a new file called wininit.ini is written into windows, which will overwrite Ctl3d.dll with the later version when windows is next started. It does this by the action of wininit.exe in windows, and then the wininit.ini file is deleted after the DLL has been updated. This is why so many set-up programs tell you to restart windows. After windows is restarted the "old" DLL is replaced by a "new" DLL... that is an improvement.

In summary, upgrading DLL's is an enhancement and an essential part of keeping the system living. The upgraded DLL's are AUTOMATICALLY included when the author compiles his source code into the set-up, and in most cases done without his knowledge. There's nothing wrong with it... it makes lots of sense. The author expects your system to have all the capabilities to run a program that he has written, and Microsoft ensures this by AUTOMATICALLY including any modern DLL's required. It is important to realise that ONLY upgraded DLL's will be added, systems can never be downgraded.

The registry is a different matter... it is a data base of information. Data is overwritten which cannot be recovered. Think for instance that in you office at work, you had a phone number list that you overwrote then wanted the old numbers back... you couldn't do it. That is the same as the windows registry (just an example only).

So to answer the question, "Does Test-Run remove all the DLL's added by applications"... Test-Run only reverts the registry back to normal after the program has been uninstalled.

To see exactly how it works click here for a graphic overview. See how the registry and the files added on installation affect your computer, in an easy to understand visual way.

Hope this helps. Regards Bernie Madigan (BB®)

CLOSE THIS WINDOW TO RETURN