DLL-Fehler unter Windows beheben
© sdecoret - Adobe Stock

DLL-Fehler unter Windows beheben

DLL-Dateien gehören zu den wichtigsten Systemdateien von Windows. Ein Problem mit DLL-Dateien hat Auswirkungen auf die Stabilität und Geschwindigkeit Ihres Windows-Systems. Lesen Sie jetzt, welche DLL-Fehler in der Praxis am häufigsten auftreten und w

 

Was sind DLL-Dateien?

DLL-Dateien sind eine geniale Erfindung, denn sie ermöglichen die mehrfache Nutzung bestimmter Funktionen durch verschiedene Programme mithilfe desselben Programmcodes. Der Einsatz von Dynamic Link Libraries (DLLs) spart also Speicher und Ressourcen. Doch DLL-Dateien bieten noch weitere Vorteile.

So werden zum Beispiel die ausführbaren Programme durch die Anbindung der DLL-Routinen zur Laufzeit erheblich kleiner. Das wiederum wirkt sich positiv auf die Verteilung und die Ladezeit aus. Darüber hinaus tragen die DLLs auch zur Standardisierung bei. So wird beispielsweise von fast allen Programmen zur Auswahl von Dateien immer derselbe Microsoft-Standarddialog verwendet.

Der Nachteil: Durch eine immer noch nicht ausgereifte und unzureichende Versionsverwaltung können falsche oder fehlerhafte DLLs Systemabstürze verursachen, den Arbeitsspeicher blockieren und manche Programme können ohne eine bestimmte DLL-Version gar nicht mehr starten. Die erforderlichen DLL-Dateien laden Sie von Microsoft oder vom Programmhersteller aus dem Internet herunter und installieren sie dann.

 

Die häufigsten DLL-Fehler und deren Ursachen

Beim Start eines Programmes oder einer Funktion in Windows erhalten Sie eine Fehlermeldung wie beispielsweise „<DATEI.DLL> nicht gefunden“ oder „Eine DLL-Datei wurde mit einem ungültigen Dynalink-Aufruf aufgerufen“.

Die DLL-Datei, die den Fehler verursacht, ist entweder nicht vorhanden, nicht registriert oder wurde in der falschen Version installiert. Ermitteln Sie die aktuell installierte DLL-Version und registrieren Sie die betreffende DLL-Datei erneut in Ihrem Windows. Zudem können Sie einen kompletten Check aller Systemdateien durchführen.

Anwendungsspezifische DLLs sollten hierbei normalerweise im Ordner des jeweiligen Programms gespeichert sein. Das ist jedoch leider nicht immer der Fall. Denn manche Programmierer speichern ihre DLLs einfach im Windows-Systemordner. Wenn dort bereits eine DLL mit demselben Namen existiert und die Installationsroutine diesen Fall nicht abfragt, wird diese DLL einfach überschrieben. Andere Entwickler liefern bestimmte Versionen der verwendeten System-DLLs mit der Installationsroutine aus und legen diese DLLs redundant im Programmordner ab, was auch nicht Sinn der Sache ist.

Beim Laden einer Anwendung kann es dann zum Zugriff auf eine gleichnamige, jedoch nicht zur Anwendung gehörende DLL vorkommen. Denn die benötigte DLL wird zuerst immer im jeweiligen Programmordner gesucht und von dort geladen.

Ist die DLL dort nicht zu finden, wird sie in den Windows-System-Ordnern „\WINDOWS\system“ bzw. „\WINDOWS\system32“ und danach im Ordner „\WINDOWS“ gesucht und ggf. von dort aus gestartet. Wurde die DLL bereits von einem anderen Programm angefordert und befindet sich noch im Speicher, wird jedoch auf die im Speicher befindliche DLL zugegriffen. Damit ist jedoch nicht sichergestellt, dass es sich um die richtige DLL handelt. Den Zugriff auf die falsche DLL allerdings quittiert das jeweilige Programm mit einer Fehlermeldung oder stürzt komplett ab.

Um diese Probleme zu vermeiden, können Sie unter Windows jedoch jedem Programm einen Pfad zu den dazugehörenden DLLs zuordnen. Das ist praktisch, denn häufig verwenden Programme zwar dieselben DLLs, funktionieren aber nur mit unterschiedlichen Versionen dieser DLLs.

 

DLL-Fehler beheben: Verschiedene DLL-Versionen trennen und speichern

Mit der nachfolgenden Registry-Einstellung können Sie von DLLs verschiedene Versionen auf Ihren Systemen bereitstellen, damit diese sich nicht „ins Gehege“ kommen:

 

  1. Suchen Sie den Schlüssel „HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ CurrentVersion\App Paths“.
  2. Unter diesem Schlüssel finden Sie die Programmnamen, den Pfad zum jeweiligen Programm und die Pfade zu den dazugehörigen DLLs als Zeichenfolge gespeichert.

 

Eintrag

Beschreibung

Standard

Beinhaltet den Pfad und den Namen zum Programm.

Path

Enthält den Pfad oder, durch Semikolon getrennt, die Pfade zu den benötigten DLLs.

Hier finden Sie die zum Programm gehörenden DLLs

Tipp! Sollte der Schlüssel für das jeweilige Programm fehlen, legen Sie ihn mit dem Namen der EXE-Datei neu an: „Bearbeiten – Neu –Schlüssel“. Geben Sie dann unter dem Eintrag (Standard) den Namen des ausführbaren Programms mit vollständiger Pfadangabe an. Erstellen Sie nun mit „Neu – Zeichenfolge“ einen neuen Eintrag „Path“ und geben Sie hier den Pfad zu den dazugehörenden DLLs an. Sie können hierbei auch mehrere Pfade, getrennt durch Semikolon, angeben.

 

DLL-Fehler beheben: So finden Sie die passende DLL-Version

Eine häufige Ursache von DLL-Fehlermeldungen ist eine DLL-Datei in einer falschen Version oder an einem falschen Speicherort.

Doch bevor Sie die richtige Version installieren können, müssen Sie zuerst die Versionsnummer, den Herstellernamen oder andere Informationen zu der DLL-Datei ermitteln:

 

  1. Starten Sie den Windows-Explorer.
  2. Ins Suchfeld oben rechts tragen Sie den Namen der gesuchten DLL-Datei ein, z. B. Shell32.dll.
  3. In der Liste der gefundenen Dateien klicken Sie mit der rechten Maustaste auf die entsprechende Datei, wählen "Eigenschaften" und erhalten unter der Registerkarte "Details" wichtige Informationen zur DLL.

 

DLL-Fehler beheben: Wie Sie DLLs neu registrieren

Haben Sie aufgrund eines DLL-Fehlers eine aktuelle DLL-Version erhalten und diese in das dafür vorgesehene Verzeichnis kopiert, so erscheint unter Umständen immer noch die gleiche Fehlermeldung, so als wäre die alte DLL-Version noch vorhanden.

In diesem Fall registrieren Sie die DLL-Datei einfach neu:

 

  1. Öffnen Sie dazu zwei Windows- Explorer-Fenster nebeneinander.
  2. Wechseln Sie im ersten Explorer-Fenster in den Ordner mit der neuen DLL-Datei und im zweiten Explorer-Fenster in den Ordner „C:\Windows\ System32“.
  3. Ziehen Sie die DLL-Datei per Drag & Drop auf die Datei „regsvr32“ und lassen Sie dann die linke Maustaste los.
  4. Achten Sie auf die Bestätigung nach erfolgter Registrierung.