DLL: Wie Sie Fehler erfolgreich beheben

DLLs ermöglichten es mehreren Programmen, die zur Ausführung bestimmter Aufgaben erforderlichen Programmbestandteile gemeinsam zu verwenden. Dabei werden die Programmteile erst zur Laufzeit geladen und auch erst dann mit dem aufrufenden Programm verbunden. DLL-Fehler können mächtig Ärger bereiten. Fehler in der DLL verursachen Systemabstürze, blockieren den Arbeitsspeicher, und manche Programme können ohne eine bestimmte DLL-Version gar nicht mehr starten. Dabei spielt es keine Rolle, ob die DLL-Dateien von Microsoft mit Windows oder von anderen Software-Herstellern zur Verfügung gestellt werden.

Einfache DLL-Fehler schnell gelöst
Fehler, die von DLLs verursacht werden, äußern sich unter Windows in verschiedenster Form. Bei Meldungen wie

  • „Ein älteres Programm funktioniert mit der aktuellen DLL nicht mehr“
  • „Fehler in Logdateien“ oder
  • „DLL löschen,

sind die Ursachen ziemlich eindeutig.

[adcode categories=“computer,betriebssysteme“]

Schnelle DLL-Analyse über Systeminformationen
Wertvolle Dienste bei der Analyse der verwendeten DLL-Dateien leistet die Systeminformation, die Sie über „Ausführen" und die Eingabe von „MSINFO32.EXE" aufrufen. Damit holen Sie wichtige Informationen über Ihren Computer ein.

Im Programm „Systeminformationen" sind alle Konfigurationsdaten übersichtlich einsehbar, z.B. die der installierten Geräte oder der geladenen Gerätetreiber. Hier lassen sich beispielsweise auch die Grafikkarte und der aktuelle Status der entsprechenden Treiber ermitteln. Doch die „Systeminformationen" liefern Ihnen nicht nur Informationen zu Ihrem System, sondern auch über die DLL-Dateien.

Diese Informationen nutzen Sie z.B. folgendermaßen: Angenommen, Sie haben das CD-Brennprogramm „Win-OnCD" von Roxio im Einsatz, das bei jedem Start eine DLL-Fehlermeldung bzgl. der Datei „CDRAL.DLL" anzeigt. Mit „MSINFO32" stellen Sie fest, dass es sich dabei um die Version „5.3.2.34" handelt. In der Knowledgebase von Roxio finden Sie daraufhin einen Hinweis, dass für Ihren CD-Brenner die Version „5.3.3.12" erforderlich ist. Wenn Sie die aktuelle Datei von Roxio herunterladen und damit die alte Version ersetzen, funktioniert das Brennprogramm wieder einwandfrei.

Denn Anwendungen sind teilweise abhängig von bestimmten DLL-Dateien oder -Dateiversionen und manchmal sogar von deren genauem Speicherort. In der Praxis kommt es jedoch öfter vor, dass bei der Installation einer neuen Anwendung eine bereits bestehende DLL-Datei überschrieben wird.

Die gängigen Installationsprozeduren überprüfen zwar, ob die zu installierende Datei neueren Datums ist, und verhindern meistens das Überschreiben aktueller Dateien mit älteren Versionen, doch zuverlässig funktioniert das nicht, da manche „ausländische" Installationsroutine beim dafür notwendigen Datumsvergleich die nationalen Formateinstellungen nicht korrekt berücksichtigt. Auch ist nicht immer gewährleistet, dass eine DLL neueren Datums wirklich abwärtskompatibel ist und noch alle von einem Programm benötigten Anteile einer vorhergehenden Version enthält.

Dadurch bleibt auch das ansonsten relativ stabile Betriebssystem Windows XP nicht vor DLL-Fehlern verschont, z.B. bei

  • Signaturproblemen aufgrund fehlerhafter DLLs,
  • fehlerhaften Prozedureinsprungpunkten in der Datei „Msvcrt.dll", oder
  • einem Fehler bei einem Windows-Update durch „SHLWAPI.DLL".

So beseitigen Sie den Windows-Update-Fehler durch „SHLWAPI.DLL"
Beim Ausführen eines Updates über die Windows-Update-Website kann es passieren, dass Ihnen folgende Fehlermeldung angezeigt wird:

„Winlogon.exe. Einsprungpunkt nicht gefunden. Der Prozedureinstiegspunkt „AssocIsDangerous" wurde in der DLL „SHLWAPI.DLL" nicht gefunden.“

In diesem Fall ist der Fehler eindeutig: Die angegebene DLL-Datei ist offensichtlich beschädigt. Gehen Sie zur Lösung des Problems folgendermaßen vor:

  1. Legen Sie die Windows-XP‘-CD in das CD/DVD-Laufwerk ein und starten Sie Ihren PC neu.
  2. Dieser sollte nun von der CD aus starten. Achten Sie auf die kurze Meldung, ob der PC von der CD gestartet werden soll, und bestätigen Sie diese durch Betätigung einer beliebigen Taste.
  3. Gehen  Sie  vor wie  bei  einer Neuinstallation. Auf der Willkommenseite drücken Sie die Taste „R“, um die Wiederherstellungskonsole zu starten.
  4. Geben Sie nun die folgenden Befehle ein und drücken Sie nach jedem Befehl „Enter“:

– cd
– cd windowssystem32
– ren winlogon.exe winlogon.old
– ren msgina.dll msgina.old
– ren shell32.dll shell32.old
– ren shlwapi.dll shlwapi.old
– cd..
– cd servicepackfilei386
– copy MSGINA.DLL c:windowssystem32
– copy SHELL32.DLL c:windowssystem32
– copy WINLOGON.EXE c:windowssystem32
– copy SHLWAPI.DLL c:windowssystem32

Falls sich die DLL-Dateien nicht im Ordner „Servicepackfiles“ befinden, müssen Sie diese Dateien von der Windows-XP-CD extrahieren und dann in den Ordner „System32“ kopieren. Geben Sie dadzu folgende Befehle ein und drücken Sie nach jedem Befehl „Enter“:

– expand CD-LW:i386SHELL32.DL_ C:windowssystem32
– expand CD-LW:i386MSGINA.DL_ C:windowssystem32
– expand CD-LW:i386WINLOGON.EX_ C:windowssystem32
– expand CD-LW:i386SHLWAPI.DL_ C:windowssystem32
– cd
– cd windowssystem32
– ren *.del_*.dll
– ren. *.ex_*.exe