LKBDE11360: Fehler 126 beim Programmstart (\"xxx.dll The specified module could not be found\", bzw. \"...das angegebene Modul wurde nicht gefunden\")


Symptom

Fehlermeldung 126, Programm startet nicht. Die in der Fehlermeldung angegebene (nicht gefundene DLL) existiert jedoch

Cause

Eine \"Dynamic Link Library\" (dll) konnte aufgrund fehlender abhängiger Dateien nicht geladen werden

Solution

Nach dem Programmstart bekommt man einen so genannten \"Splashscreen\" der Anwendung und danach die Fehlermeldung \"xxx.dll - The specified module could not be found\" (bzw. \"xxx.dll - Das angegebene Modul konnte nicht gefunden werden\"), obwohl die in der Meldung angebene DLL vorhanden und eventuell sogar registriert ist.
Die etwas irreleitende Fehlermeldung bezieht sich dabei nicht auf die DLL selbst, sondern auf Module, von denen diese DLL abhängig ist. Diese entsprechenden DLLs fehlen oder sind fehlerhaft.
Was ist zu tun?

1) Finde die in der Fehlermeldung benannte DLL und vergleiche das übergeordnete Verzeichnis mit einem System mit einer intakten Installation der Anwendung. Fehlende Dateien können vom Referenzsystem auf das Fehlerhafte kopiert werden. Bei Bedarf müssen ggf. eine oder mehrere registriert werden mit:
regsvr32
so lässt sich der Schaden eventuell schnell beheben. Diese Art Fehler kann beispielsweise bei einer Remote - Installation auftreten, bei der nicht alle Dateien korrekt kopiert wurden.

2) Falls kein Referenzsystem verfügbar ist oder die o.g. Schritte ergebnislos blieben, können die Abhängigkeiten mit einem der folgenden Tools analysiert werden:
- NTFileMon (http://www.sysinternals.com/)
- Processviewer  (http://www.sysinternals.com/)
- Dependency Walker (MS Visual Studio)

Tritt der Fehler bei unterschiedlichen Anwendungen auf, könnte eine System DLL fehlen (z.B. %Systemroot%\\System32\\MSVCRT.DLL).
Falls die o.g. Tools nicht zum entscheidenden Hinweis führen, bleibt keine andere Möglichkeit, als die fehlerhafte Anwendung neu zu installieren.

Disclaimer:

The information provided in this document is intended for your information only. Lubby makes no claims to the validity of this information. Use of this information is at own risk!

About the Author

Author: Wim Peeters - Keskon GmbH & Co. KG

Wim Peeters is electronics engineer with an additional master in IT and over 30 years of experience, including time spent in support, development, consulting, training and database administration. Wim has worked with SQL Server since version 6.5. He has developed in C/C++, Java and C# on Windows and Linux. He writes knowledge base articles to solve IT problems and publishes them on the Lubby Knowledge Platform.