15 Problems That Your Plague Your PC
And How to Solve Them


--by Karen Kenworthy, Contributing Editor, Fred Langa, Senior 
Consulting Editor, John Woram, Consulting Editor, Serdar 
Yegulalp, Technology Editor


** Problem No 9: When I installed an app, 
another one suddenly stopped working. **

Solution:
Your computer may have come down with a case of 
DLL Versionitis.

DLLs (Dynamic Link Libraries) are disk files containing 
portions of programs. Breaking big apps into several parts 
allows each part to be loaded into RAM only when needed. And 
several apps can simultaneously access the program snippets 
stored in a single DLL. This reduces the amount of disk space 
and RAM each app requires, and allows several apps to be 
upgraded simultaneously by replacing a DLL they share.

Well-behaved installation programs place shared DLLs in the 
\WINDOWS\SYSTEM directory, ensuring only one copy of a DLL 
resides on your hard disk. This not only saves disk space; it 
guarantees all apps use the same version of the DLL. But some 
setup programs create private copies of shared DLLs, so your 
hard disk may contain more than one version of a single DLL.

When an app executes a routine stored in a DLL, Windows first 
searches RAM for a previously loaded copy of the DLL. If that 
search fails it searches your hard disk. As a result, if one 
app loads a private, out-of-date copy of a shared DLL, all 
programs running after that will use the private DLL because 
it's now in RAM. If these programs require a newer version of 
the DLL, they may crash or behave erratically.

To avoid this, make sure only one copy of each shared DLL 
resides on your hard disk. It should be the newest version, and 
should be in your \WINDOWS\SYSTEM directory. Start with a 
utility like WDLLFnd (Treeless Software and Design)

http://members.aol.com/TreeLessSW/wdllf2.htm

which searches your hard disk for duplicate DLLs. Right-click 
on each DLL's icon and select Properties to examine its file 
size and version information.

If all copies of a DLL are the same, move one copy to your 
\WINDOWS\SYSTEM directory and delete the rest. If you have more 
than one version of a single DLL, save all older versions in a 
temporary hard disk directory or on a diskette and move the 
newest version to your \WINDOWS\SYSTEM directory. Finally, 
reboot and test all apps.


 1998 Windows Magazine, April 1999, Page 112.