Beim Start eines Programms erscheint die Meldung: “Die Anwendung kann nicht gestartet werden, da XYZ.dll fehlt oder nicht registriert ist”. Für viele Windows-Anwender sind DLL-Dateien (Dynamic Link Libraries) ein Buch mit sieben Siegeln, da man sich normalerweise mit diesen Datei als reiner Anwender nicht beschäftigen muss. Warum braucht Windows diese Dateien, und was bedeutet es eigentlich, eine DLL zu registrieren oder deregistrieren?
In dieser Windows Anleitung zeigen wir, was hinter dem Registrieren von DLL-Dateien steckt. Außerdem zeigen wir Schritt für Schritt, wie Sie DLLs unter Windows sowohl registrieren als auch deregistrieren können.
Was ist eine DLL und warum registrieren?
DLL-Dateien (Dynamic Link Libraries) sind modular aufgebaute Programmbibliotheken, die wichtigen Code und Daten für Windows und Anwendungen bereitstellen. Statt dass jede Anwendung alle Funktionen selbst mitbringt, lagern viele Programme gemeinsame Funktionen in solche DLL-Bibliotheken aus. Das spart Speicherplatz und erleichtert Updates, denn eine DLL kann vom System von mehreren Programmen gleichzeitig genutzt werden. Hier nachfolgend exemplarisch einige DLL Dateien aus dem Ordner C:\Windows\System32.
Registrieren einer DLL bedeutet, Windows mitzuteilen, welche Funktionen diese Bibliothek enthält und wie andere Programme darauf zugreifen können. Technisch gesehen wird dabei die DLL (meist eine COM-Komponente oder ein ActiveX-Steuerelement) in die Windows-Registrierung eingetragen. Nur so weiß das Betriebssystem, dass es die in der DLL definierten Funktionen z.B. unter einem bestimmten Namen bereitstellen soll. In der Praxis werden viele DLLs automatisch durch Installer registriert.
Manchmal jedoch – etwa bei fehlenden Komponenten oder nach einer Neuinstallation – muss man selbst Hand anlegen. Ein typischer Fall: Eine Anwendung startet nicht und meldet, es fehle eine bestimmte DLL-Datei. Solche Fehlermeldungen wie “VCRUNTIME140.dll fehlt” deuten oft darauf hin, dass eine benötigte Bibliothek nicht verfügbar oder nicht registriert ist. Hier kann das manuelle Registrieren der DLL Abhilfe schaffen. Ebenso ist das Deregistrieren (Unregistrieren) sinnvoll, wenn Sie eine DLL entfernen möchten, damit keine verwaisten Einträge im System verbleiben.
Bevor wir loslegen, ein Hinweis: Nicht jede DLL lässt sich registrieren! Viele System-DLLs (z.B. ntdll.dll oder andere Kernbibliotheken) sind fest ins Betriebssystem integriert und besitzen keine Registrierungsfunktion. Versucht man solche Dateien zu registrieren, erscheint eine Fehlermeldung wie “Einstiegspunkt DllRegisterServer wurde nicht gefunden”. Das ist normal – diese Dateien werden vom System verwaltet und müssen nicht manuell registriert werden. Konzentrieren wir uns also auf die DLLs, bei denen es nötig und möglich ist.
DLL-Datei registrieren – Schritt-für-Schritt-Anleitung
Stellen wir uns ein konkretes Beispiel vor: Sie haben ein altes Programm installiert, das eine bestimmte ActiveX-Komponente benötigt, beispielsweise Example.dll. Nach der Installation funktioniert etwas nicht, und Sie vermuten, dass die DLL nicht korrekt registriert wurde. Mit den folgenden Schritten können Sie die Datei manuell registrieren. Es gibt zwei Wege – über die grafische Oberfläche von Windows oder über die Kommandozeile. Wir beschreiben beide Methoden:
Methode 1: DLL registrieren über die Ausführen-Funktion (grafische Oberfläche)
- DLL bereitstellen: Vergewissern Sie sich, dass die betreffende DLL-Datei auf Ihrem System vorhanden ist. Falls Sie sie manuell heruntergeladen haben, kopieren Sie sie in das passende Verzeichnis. Oft ist das
C:\Windows\System32
für 64-Bit-DLLs oderC:\Windows\SysWOW64
für 32-Bit-DLLs. Alternativ können Sie die DLL auch in den Programmordner legen, der sie benötigt. Sollte bereits eine ältere Version der DLL existieren, sichern Sie diese vorsichtshalber, bevor Sie sie ersetzen. - “Ausführen” öffnen: Drücken Sie Windows-Taste + R, um den Ausführen-Dialog zu öffnen. Es erscheint ein kleines Fenster, in das Sie Befehle eingeben können. Dieses grafische Tool ist der schnellste Weg, einzelne Befehle auszuführen, ohne ein komplettes Terminal zu öffnen.
- Regsvr32-Befehl eingeben: Tippen Sie nun den Befehl zum Registrieren ein. Die allgemeine Syntax lautet:
regsvr32 "Pfad\zur\Datei.dll"
. Ersetzen Sie Pfad\zur\Datei.dll durch den vollständigen Pfad und Namen Ihrer DLL. Beispiel:regsvr32 "C:\Windows\System32\Example.dll"
. (Die Anführungszeichen sind wichtig, wenn Pfade Leerzeichen enthalten.) - Als Administrator ausführen: Wichtig: Das Registrieren erfordert Administratorrechte, da Änderungen an der Systemregistrierung vorgenommen werden. Im Ausführen-Dialog gibt es einen Trick: Halten Sie Strg + Shift gedrückt, während Sie auf „OK“ klicken. Dadurch wird der Befehl mit Administratorrechten gestartet. Gegebenenfalls fordert Windows Sie zur Bestätigung auf (Benutzerkontensteuerung). Bestätigen Sie die Eingabe.
- Erfolgsmeldung prüfen: Wenn alles geklappt hat, sollte Windows nun eine Erfolgsmeldung anzeigen. Diese lautet sinngemäß: “DllRegisterServer in <Dateiname.dll> erfolgreich ausgeführt.” Damit wird bestätigt, dass die Registrierung der DLL erfolgreich war. Sollte stattdessen eine Fehlermeldung erscheinen, lesen Sie diese aufmerksam. Häufige Fehler sind ein falscher Pfad (Datei nicht gefunden) oder fehlende Berechtigung. Überprüfen Sie in dem Fall den Pfad, und stellen Sie sicher, dass Sie den Befehl mit Administratorrechten ausgeführt haben.
Methode 2: DLL registrieren über die Eingabeaufforderung (Kommandozeile)
Die zweite Methode richtet sich vor allem an fortgeschrittene Anwender oder jene, die lieber direkt in der Eingabeaufforderung (auch als CMD bekannt) arbeiten. Sie bietet mehr Feedback und Kontrolle, besonders wenn etwas schiefgeht. Gehen Sie wie folgt vor:
- Eingabeaufforderung als Administrator öffnen: Öffnen Sie das Startmenü und tippen Sie „cmd“ ein. Klicken Sie mit der rechten Maustaste auf „Eingabeaufforderung“ und wählen Sie „Als Administrator ausführen“. Alternativ können Sie auch über Windows-Taste + X das Menü öffnen und dort die Administrator-Eingabeaufforderung auswählen. (Mehrere Wege, die CMD mit Admin-Rechten zu starten, finden Sie in diesem Beitrag: CMD als Admin ausführen.) Bestätigen Sie die Nutzerkontensteuerung, falls sie erscheint.
- Zum DLL-Verzeichnis navigieren (optional): Im nun offenen schwarzen Fenster (der Konsole) können Sie zunächst in das Verzeichnis wechseln, in dem die DLL liegt. Das ist nicht zwingend erforderlich, aber erleichtert die Eingabe. Mit dem Befehl
cd
(change directory) wechseln Sie das Verzeichnis. Beispiel: Liegt Example.dll in C:\Windows\System32, geben Sie ein:cd C:\Windows\System32
und drücken Enter.
- Regsvr32-Befehl ausführen: Geben Sie anschließend den Registrierungsbefehl ein:
regsvr32 Example.dll
und drücken Sie Enter. Sie können hier auf die Angabe des vollständigen Pfades verzichten, wenn Sie sich bereits im richtigen Verzeichnis befinden. Andernfalls müssen Sie wieder den kompletten Pfad zur DLL angeben. - Rückmeldung lesen: Anders als im Ausführen-Dialog zeigt die
regsvr32
-Anwendung auch in der Eingabeaufforderung die Rückmeldung als Dialogfenster an. Sie sollten also auch hier eine Meldung erhalten, dass die Registrierung erfolgreich war (oder eine Fehlermeldung mit einem Hinweis, falls etwas nicht stimmt). Schließen Sie die Meldung. Im CMD-Fenster selbst sehen Sie eventuell keinen weiteren Text, daregsvr32
seine Meldungen grafisch ausgibt. - Erfolg überprüfen: Um sicherzugehen, dass alles funktioniert hat, starten Sie das Programm, das die DLL benötigt, erneut. Tritt der ursprüngliche Fehler nicht mehr auf, war die Registrierung erfolgreich. Bei anhaltenden Problemen können Sie versuchen, den PC neu zu starten – manchmal werden Änderungen erst nach einem Neustart komplett wirksam. Sollte der Fehler weiterhin bestehen, prüfen Sie, ob die DLL die richtige Bit-Version hat (32-Bit vs. 64-Bit) und ob eventuell zusätzliche Abhängigkeiten fehlen. In einigen Fällen müssen Visual C++ Runtime-Pakete installiert werden, wenn es sich um DLLs aus diesen Bibliotheken handelt.
Tipp: Wenn Sie mehrere DLL-Dateien auf einmal neu registrieren müssen (etwa zur Fehlerbehebung von Windows-Features), können Sie die obigen Schritte in der Eingabeaufforderung nacheinander für jede Datei ausführen. Es gibt auch die Möglichkeit, in einem Skript mehrere
regsvr32
-Befehle hintereinander auszuführen. Ein praktisches Beispiel dafür ist die Behebung von Windows Update-Problemen: Microsoft selbst empfiehlt bei gewissen Update-Fehlern, eine Reihe wichtiger System-DLLs neu zu registrieren. So wird z.B. beim Windows Update Fehlercode 0x80080008 mit acht aufeinanderfolgendenregsvr32
-Befehlen versucht, die Update-Komponenten wieder funktionstüchtig zu machen. Sie sehen: Das Registrieren von DLLs ist ein bewährtes Mittel, um Windows-Probleme zu lösen!
DLL-Datei deregistrieren (unregistrieren) – Schritt-für-Schritt-Anleitung
Genauso wie man DLLs einbinden kann, lässt sich die Registrierung auch wieder aufheben. Dies ist z.B. dann sinnvoll, wenn Sie eine bestimmte Komponente entfernen möchten oder ein falsch registriertes Modul Probleme verursacht. Das Deregistrieren (Unregistrieren) entfernt die Verknüpfung der DLL aus der Systemregistrierung. Die Vorgehensweise ist ähnlich wie bei der Registrierung, mit dem Unterschied, dass ein zusätzlicher Parameter /u
(für “unregister”) verwendet wird. Auch hier zeigen wir wieder zwei Methoden:
Methode 1: DLL deregistrieren über die Ausführen-Funktion
- Vorbereitung: Stellen Sie sicher, dass keine Anwendung gerade auf die betreffende DLL zugreift. Falls doch, schließen Sie die entsprechende Anwendung. Es ist außerdem ratsam, die DLL-Datei nicht einfach zu löschen, ohne sie zuvor deregistriert zu haben – vor allem dann, wenn Sie sie nur austauschen möchten.
- Ausführen-Dialog öffnen: Drücken Sie Windows + R, um wieder das Ausführen-Fenster zu öffnen.
- Regsvr32-Befehl mit /u eingeben: Tippen Sie den Befehl zum Deregistrieren ein. Dieser lautet:
regsvr32 /u "Pfad\zur\Datei.dll"
. Der Schalter/u
bewirkt, dass statt der Registrierung die Abmeldung der DLL erfolgt. Beispiel:regsvr32 /u "C:\Windows\System32\Example.dll"
. - Befehl ausführen: Halten Sie erneut Strg + Shift gedrückt und klicken Sie auf „OK“, um den Befehl mit Administratorrechten auszuführen (analog zur Registrierung). Bestätigen Sie die Sicherheitsabfrage bei Bedarf.
- Meldung beachten: Windows sollte nun melden, dass die DLL erfolgreich deregistriert (abgemeldet) wurde. Die Erfolgsmeldung lautet z.B.: “DllUnregisterServer in <Dateiname.dll> erfolgreich ausgeführt.” Damit wissen Sie, dass die Verknüpfungen der DLL aus der Registry entfernt wurden. Erscheint eine Fehlermeldung, prüfen Sie wiederum den Pfad und die Schreibweise, oder ob vielleicht der Prozess noch keine Administratorrechte hatte.
Methode 2: DLL deregistrieren über die Eingabeaufforderung
- Eingabeaufforderung als Administrator starten: Öffnen Sie eine Admin-Eingabeaufforderung wie zuvor beschrieben (Eingabeaufforderung als Administrator).
- Zum Ordner wechseln (optional): Wechseln Sie in der Konsole in das Verzeichnis, in dem sich die DLL befindet, mittels
cd <Pfad>
, falls nötig. - Regsvr32 mit /u ausführen: Geben Sie in der Eingabeaufforderung den Befehl
regsvr32 /u Dateiname.dll
ein und drücken Sie Enter. Ersetzen Sie Dateiname.dll durch den Namen der zu entfernenden DLL (ggf. mit Pfad). Beispiel:regsvr32 /u Example.dll
.
- Erfolgsmeldung bestätigen: Wie bei der Registrierung erscheint wieder ein Dialogfenster. Im Erfolgsfall teilt es Ihnen mit, dass die DLL deregistriert wurde. Bestätigen Sie die Meldung. Sollte ein Fehler auftreten (z.B. “Modul nicht gefunden”), könnte die DLL bereits entfernt worden sein oder der Pfad stimmt nicht. Dann müssen Sie die Datei ggf. erneut an den angegebenen Ort kopieren, um sie deregistrieren zu können, oder den richtigen Pfad angeben.
- Nachbereitung: Nach dem Deregistrieren können Sie – falls gewünscht – die DLL-Datei von Ihrem System löschen oder ersetzen. Windows und Anwendungen greifen nun nicht mehr auf diese Bibliothek zurück. Starten Sie im Zweifel den PC neu, damit alle Änderungen wirksam werden.
Hinweis: Das Deregistrieren einer DLL sollte mit Bedacht vorgenommen werden. Stellen Sie sicher, dass keine andere Anwendung die betreffende DLL doch noch benötigt. Wenn Sie unsicher sind, lassen Sie die Datei lieber registriert. In vielen Fällen ist es unproblematisch, eine nicht mehr genutzte DLL registriert zu lassen – sie beansprucht dann lediglich minimalen Speicherplatz. Probleme entstehen erst, wenn veraltete oder falsche DLL-Versionen registriert bleiben und Programme versehentlich auf diese zugreifen. In solchen Fällen schafft das Deregistrieren der alten DLL und ggf. Registrieren der richtigen Version klare Verhältnisse.
Fazit
DLL-Dateien sind ein sehr wichtiger Teil jeder Windows Version und Installation. Sie sorgen dafür, dass Programme auf gemeinsam genutzte Funktionen zurückgreifen können. Das Registrieren einer DLL macht diese Funktionen dem System bekannt, während das Deregistrieren sie wieder aus der Registrierung entfernt. Wie wir gesehen haben, sind beide Vorgänge mit dem bordeigenen Tool regsvr32
in wenigen Schritten durchführbar. Wichtig ist, stets mit Administratorrechten zu arbeiten und genau auf eventuelle Meldungen zu achten.
Ob ein Programm nach einer Installation nach einer DLL ruft oder ein Windows-Feature streikt – Sie wissen nun, wie Sie durch Registrieren oder Deregistrieren der betreffenden DLL schnell für Abhilfe sorgen können. Sollten Sie dennoch einmal unsicher sein, finden Sie in unserem Artikel DLL-Datei – Aufgabe und Funktion weitere Hintergrundinformationen und Beispiele.
Neueste Kommentare