The following is extracted from click here
"There is another possible source of conflict that can produce system failures. That is the problem of duplicate DLL's. A DLL is a dynamic link library. These files contain program routines used by many different programs simultaneously. The use of a single DLL allows programmers to write smaller programs because they can call functions contained in the DLL. So you may have the same DLL supplied by different software manufacturers and when you install the program, the DLL is copied to your hard disk. These programs save on RAM space, and if the rules Microsoft established are followed, very few problems would occur. Unfortunately, not everyone plays by the rules, Microsoft included. All DLL's that may be used by more than one program are supposed to be stored in the \Windows\system subdirectory. Every DLL is supposed to have an internal version number. So far, so good. However, in reality, you may end up with multiple copies of the same DLL scattered around your hard disk. For example, I have four copies of a file entitled MSSETUP.DLL. Not one copy of this DLL is in the Windows system folder. They are in four different locations associated with the programs that installed them. How can this be a problem? When you run a program, it loads into RAM any DLL's it needs that are not already loaded. If version 1.0 of a DLL is loaded in RAM and then another program is loaded that requires version 2.5, you will get an error when the second program calls a function that is not included in version 1.0. This problem is a common source of system crashes. When a 16-bit program crashes, the DLL's associated with this program are not unloaded from memory. That's why you cannot run the program again until you reboot the computer. This is not supposed to happen with 32- bit programs, but it does.
There is a freeware program available called FINDDUPS. It can be found on the Internet at click here. This program will search your hard disk and provide a list of the duplicate DLL's. It includes the version number and the path to the DLL."