What are Windows DLL Errors?
Windows DLL’s or Dynamic Link Libraries are a great help in creating flexible, scalable applications. A DLL contains application functionality, similar to EXE files. The difference is that DLL’s can be loaded when needed and can be used by more than one application. This allows large applications to be split into modules, so the application requires less memory than when it would be one large EXE file. Re-using functionality of common DLL’s enables programs to use existing, proven technology.
Of course DLL’s like EXE’s can have problems. DLL errors can be caused by a programming error inside the DLL, but there are quite a few external causes as well. There are so many DLL’s used on a typical Windows system, that it is useful to know how to fix DLL errors.
The first DLL problem is related to the DLL file itself. The file must exist on the system to function. If the DLL file is missing, there are different ways to restore it.
- The best way is to restore it from the original source. For Windows system DDL’s, you can restore them from the Windows installation CD/DVD (or a “I386” folder if you have that on your system).
- An alternate way is to search for the DLL file on the internet and download it from there. Be aware that you get the DLL file from a reliable source, as many downloads can give you a virus or malware when downloading a file.
- If the DLL belongs to a third party application, it might be best to uninstall the application and then reinstall it. This will also reinstall the missing DLL file.
When a DLL file does exist but fails to load or is still indicated as missing, there can be a problem with the DLL registration. Each DLL in Windows is registered in the Windows registry. Details of the file, version and location are recorded in the registry, so it can be loaded and used properly.
The best way to solve problems with DLL’s related to the registry is to re-register them.
- Open a command prompt window (Run CMD.EXE from the Start menu).
- Type “regsvr32.exe dllname.dll” and press Enter (replace “dllname” with the actual name of the DLL file).
- Wait for the message to appear that the DLL was successfully registered and click OK.
Error messages like “Program caused an invalid page fault in module xxxx.dll”. These errors are related to problems with the xxxx.dll file. The relation between the program and the DLL file will not always be
obvious. Causes of this type of problem are:
- Incorrect version of the DLL – reinstall the program to ensure you have the correct version.
- Application dependencies – typically this means use of application plug-ins or inter-application dependencies. Examples are Internet Explorer add-ons that cause errors, e-mail scanners that interact with Outlook or Outlook Express, or multiple instances of the same application. Disable the add-ons and then enable them one-by-one to find the cause. Updating to the latest version of the application often fixes the issue.
How to Prevent DLL Problems
Although we described how to deal with DLL errors, it is still best to try and prevent them. Unfortunately not all causes of DLL errors are in our control, but a few things we do can help prevent DLL errors nonetheless.
- When installing applications, be careful not to overwrite shared DLL’s with older versions. Normally installers will check if a DLL is already present and which version it is, but not all program installers do this. If a DLL error comes up, try to recall which application you last installed and check the DLL’s that came with it.
- The same applies for uninstalling applications. Many uninstallers will delete all files belonging to the application, but also offer to delete any shared DLL files that are believed to be unused after uninstalling the application. It is often better to leave these shared DLL files on your system. They do not take up much space and there is always a chance that they are used by other applications.
- Install the latest service packs and patches for you operating system and applications. They require fixes and improvements that can help prevent many problems, including DLL errors.
- Ensure your protection software is active and up to date. Firewall software, antivirus scanner, and other security software will help protect your PC from getting infected with malicious software, leading to problems.
- PC cleanup. Delete obsolete files and uninstall obsolete applications. Remove temporary files and clean up your registry. Windows has some useful functions to maintain your PC, but there are plenty of free and affordable PC maintenance tools as well. A registry cleaner and a good uninstaller are valuable tools to prevent DLL errors.
- A special kind of cleanup: remove duplicate versions of DLL files. Some applications do not install shared DLL files in the \Windows\System32 folder, but install them in the application folder instead. This way you can end up with many copies of a DLL file on your system, all with different version. Remove (or rename) all but the one in the \Windows\System32 folder.