Windows-Anwender haben mit Sicherheit schon von DLL-Dateien Kenntnis genommen, von denen sich sehr viel verschiedene Dateien im Windows-Verzeichnis befinden. Was genau eine DLL-Datei ist, und wofür diese verwendet werden und welche Probleme im Zusammenhang mit DLL-Dateien auftreten können, erfahren Sie in diesem Artikel.
DLL steht für Dynamic Link Libary, eine DLL-Datei demnach für eine dynamische Programmbibliothek.
Viele Funktionen von Windows, beispielsweise die Druckroutine, sind als DLL-Dateien in Windows implementiert und können von Windows bei Bedarf dynamisch nachgeladen werden, wodurch sie nicht direkt Arbeitsspeicher belegen. Zudem können auch andere Programme auf diese Programmbibliothek zugreifen.
DLL-Dateien werden durch Installer, Runtime-Modulen oder Systemupdates installiert und die Funktionen in der Registry angemeldet. Wenn Sie eine DLL selbst installieren wollen, muss die Datei in ein Verzeichnis kopiert und über einen Befehl in der Kommandozeile im System registriert werden.
Inhalt
1. DLL-Dateien sind Grundpfeiler des modularen Aufbaus von Windows
Ein großer Vorteil von Microsoft Windows und anderen modernen Betriebssystemen ist der modulare Aufbau. Viele Systemfunktionen sind in eigene Programmbibliotheken ausgelagert, welche jeweils auch als Dynamic Link Libary, kurz DLL, bezeichnet werden.
Die Nutzung von DLL-Dateien hat für ein Betriebssystem / Programm mehrere Vorteile:
- Eine nicht benötigte Programmbibliothek belegten keinen Arbeitsspeicher und muss erst auf Anforderung nachgeladen werden.
- Einzelne Programmbibliotheken können viel einfacher „gepatcht“ bzw. überarbeitet werden, um beispielsweise neue Funktionen zu implementieren oder Fehler zu beheben.
- Alle Programme greifen immer auf die gleiche Programmbibliothek zu. Hierdurch muss nicht für jede Software eine neue entwickelt werden.
Die Programmbibliotheken können aus ausführbaren EXE-Dateien oder DLL-Dateien bestehen, welche sich im Grunde wie ausführbare Programme verhalten und eigenen Programmcode enthalten.
Gut zu wissen: Auch ActiveX-Steuerelementdateien (.ocx), Systemsteuerungsdateien (.cpl) oder Gerätetreiberdateien (.drv) sind DLL-Dateien, haben aber eine andere Endung.
Die DLL-Dateien haben aber auch einen Nachteil. Von vielen DLL-Dateien gibt es verschiedene Versionen und nicht jedes Programm kommt mit jeder Version einer DLL-Datei zurecht, da diese eventuell unterschiedlichen Befehle und Routinen kennen. Von Windows 95 bis Windows XP war eines der häufigsten Probleme das Versionschaos verschiedener DLL-Dateien, welche die Installer der verschiedenen Programme gegenseitig überschrieben haben.
Neuere Windows-Versionen schützen die DLL-Dateien im Windows-Ordner und seinen Unterordnern gegen unberechtigte Überschreibungen. Dies wiederum hat zur Folge, dass Programme spezielle Versionen von DLL-Dateien seither in den eigenen Programmordner kopieren und ein Überschreiben für andere Programme damit nicht mehr möglich ist. Dadurch steigt aber auch der Platzbedarf für die Installationen der Dateien. DLL-Dateien in Programmordern werden auch als „Private DLL“ bezeichnet.
2. Infos zum Auslesen einer DLL-Datei
Grundsätzlich raten wir Ihnen ab, DLL-Dateien ohne Grund aus dem System zu entfernen. Falls Sie aber Interesse haben, woher die Datei stammt oder was deren Aufgabe ist, können Sie hier weitere Nachforschungen anstellen.
Erste Infoquelle sind die Dateieigenschaften. Über die Registerkarte „Digitale Signaturen“ können Sie sehen, wer Herausgeber der Datei ist. In der Registerkarte Details sehen Sie weitere Informationen wie eine kurze Beschreibung, Dateiversion usw.
Webseiten wie beispielsweise file.net geben Ihnen darüber hinaus weitere Informationen. Am Beispiel“ Was ist msvcrt.dll“ erhalten Sie eine kurze Beschreibung zur Herkunft und Verwendung der Datei.
Mit einem Decompiler wie beispielsweise dem kostenlosen dotPeek können Sie aber DLL-Dateien öffnen und sich die Funktionen der Bibliothek näher anschauen. Sie können über Visual Studio den Quellcode sogar bearbeiten.
3. So können Sie DLL-Dateien „installieren“
Wenn Windows eine Routine benötigt, welche in einer DLL-Datei beschrieben ist, greift Windows selbstständig auf diese Routine zurück. Sie müssen und können eine DLL-Datei daher nicht öffnen, um eine bestimmte Funktion auszuführen.
Durch einen fehlerhaften Installer oder Uninstaller kann es aber passieren, dass eine DLL-Datei sich zwar noch auf dem System befindet, Windows davon aber keine Kenntnis hat. Nur auf registrierte DLL-Dateien kann Windows auch zugreifen.
Um eine DLL-Datei Windows bekannt zu machen, müssen Sie diese DLL-Datei registrieren. Dazu starten Sie die Eingabeaufforderung als Administrator und geben dort den Befehl
Regsvr32 c:\windows\system32\msvcrtl.dll
ein, wobei der Pfad und Name hier nur als Beispiel dienen.
Windows meldet dann über die Eingabeaufforderung, dass die Registrierung der DLL erfolgreich war. Sollte dies nicht geklappt haben, stimmt der Pfad zur DLL-Datei nicht.
Umgekehrt können Sie eine DLL auch deregistrieren.
Dazu ist der Befehl
Regsvr32 /U c:\windows\system32\msvcrtl.dll
notwendig.
3.1. Woher bekomme ich eine DLL-Datei?
Wenn auf Ihrem System eine DLL-Datei fehlt, laden Sie diese nicht einfach von „irgendwo“ aus dem Internet. Sie kennen weder die Quelle noch genaue Funktion der unbekannten DLL-Datei. Dabei kann es sich auch um einen Virus/Trojaner handeln. Häufige Quelle für Downloads ist die Seite DLL-Files.com. Die Herkunft deren Downloads ist aber nicht zertifiziert. Die Benutzung erfolgt daher auf eigene Gefahr.
DirectX 9 unter Windows 10: Viele ältere Spiele aus Zeiten von Windows XP erzeugen bei der Installation oder beim Start unter Windows 10 eine Fehlermeldung, dass die Datei aus der DirectX-Technologie in Version 9 fehlt, die diese Spiele benötigen. Um diesen Fehler zu beheben, können Sie DirectX9, welches eigentlich für Windows XP war, auch noch unter Windows 10 installieren. Dabei entstehen keine Kompatibilitätsprobleme, da Windows 10 eine neue Version der Schnittstelle nutzt.
Häufig bringt Ihnen die Suche nach einer DLL-Datei aber den Hinweis, woher diese stammt. Wenn beispielsweise CorelDraw eine Datei XY vermisst bestehen gute Chancen, dass die Datei auch von CorelDraw mitinstalliert wurde/sollte. Suchen Sie daher in den Installationsdateien des Programms nach der DLL-Datei. Gute Hilfe leistet hier auch ein Packer wie 7-Zip, welcher auch Installationsdateien öffnen und Dateien daraus extrahieren kann.