DLL Errors and how to fix them

Windows XP Troubleshooting

When you encounter a Dynamic-Link Library error (DLL error) or related Windows XP error, what can you do about it? How can you track down the source of the problem and, one hopes, fix a Windows XP problem?

With a little bit of Windows XP troubleshooting skills one can usually find the problem and fix it. If a Windows error of this type is troubling you, it can be fixed in most cases with some effort.

What the heck is a DLL, anyway?

A DLL is a component of an application or software program, which usually contains a part of the application's instructions or some data required by the application. It's a way to create modular components that can be replaced or updated without having to update the entire application. DLL files are a key component of the Windows operating system, and have been so since the earliest versions.

Here are some suggestions on how to fix DLL problems:

First, copy down any error message(s) you see. You can also take a screen snapshot using the 'Prt Sc' key (stands for 'Print Screen') which will copy the screen's contents into the clipboard so that you can then paste it into a Word document or the MSPAINT application, so you can then print the error message for future reference.

Second, search the web for the error message using your favorite search engine. Look for results that are a close match for the problem you are experiencing. The closer the match, the better.

Now, if you can find good results on the web, you may be in luck: if others have resolved the issue, you should be able to find some suggestions for solving the problem. In my experience it is very rare for someone to encounter a problem that no one else has discussed. So, if you can't find useful info using a web search, it may be a matter of refining your search to narrow down the results.

Usually, the problem comes down to re-installing or updating the software package that is encountering the problem. Sometimes, there is a patch available from Microsoft if the problem is caused by part of Windows.

Occasionally, the problem is caused by one application installer overwriting a shared copy of a DLL, and another application was dependent on a particular (older or newer) version of the DLL. (This has been described as "DLL Hell" by some - when one application damages another by replacing shared components - a poorly-written windows installer can certainly contribute to this problem.) In this case, it may be possible to place the correct copy of the dependent DLL in the affected application's program directory - DLLs are loaded first from the current directory, which is usually the location of the applications main .exe.

In other cases, you might want to consider spyware or adware removal - AdAware or Spybot S&D (or similar product) may be helpful in this case. I've not seen adware or spyware cause DLL version errors, but it is possible that one or more of these nuisances may cause such a problem. In any case, you should check your machine for malware - viruses (using an online scanner if needed), or the aforementioned spyware/adware, if found, should be removed, if for no other reason than to eliminate it as the possible cause of any problem.

Tools you may find helpful:

  • Windows Event viewer - using this built-in tool, you can view the system event log and see error message that my not be displayed to the user. This can be incredibly useful in your detective work.
  • Sysinternals Process Explorer
  • Microsoft Dependency Walker - great free tool that will allow you to gather a list of all DLLs used or required by a program or other DLL. This can be a life-saver.
  • AdAware
  • Spybot S&D
  • Windows XP 'emergency repair' procedure - when things get really dicey
  • Windows XP Recovery Console - can be used to restore files from the XP installation disk (not for the faint of heart!)

(I'll provide some links soon.)

Posted by: Mike on Sun, 04/08/2007 at 5:32pm

nice article

Nice article. BTW, newbies use some tools, such as dll show, to view a list of all running processes and their DLL dependencies. good article, thanks.

frost (not verified) – Tue, 02/12/2008 – 9:43pm

Post new comment

This helps us decide if you are a human, and not just some visiting bot.
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <h3> <h4> <br> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Lines and paragraphs break automatically.
More information about formatting options