Windows XP – Was sind Shared DLLs?

Beim Deinstallieren von Programmen stoßen nicht nur Einsteiger auf Probleme, wenn die Frage auftaucht, ob eine DLL gelöscht werden soll, die möglicherweise noch von anderen Programmen genutzt wird.

Deshalb mal ein paar grundsätzliche Bemerkungen dazu:

Einige dynamische Bibliotheken (DLLs) in Windows zeichnen sich durch besonderen Schutz und Mehrfachnutzung aus. Diese so genanten Shared-DLLs werden von unterschiedlichen Programmen angefordert und genutzt, von Windows aber zentrale verwaltet und geschützt. Noch zu Windows 98-Zeiten hatten Drittanbieter von Anwendungen häufig eigene Bibliotheken im Gepäck, die das Original-File dann überschrieben. Das führte nicht nur zu gemischtsprachigen Menüs, sondern auch zu instabilen Systemen. Von Haus aus sichert Microsoft die DLLs über Versionsnummern. Der Schutz trägt die Bezeichnung Windows File Protection (WFP) und bezieht sich auch auf eine Reihe weiterer wichtiger Systemdateien. WFP ist nicht in der Lage, das Überschreiben originärer Bibliotheken zu verhindern. Allerdings bleiben die Änderungen nicht unbemerkt, und XP versucht, das ursprünglich vorhandene File einfach zurück zu schreiben. Dieses Prinzip ist ebenso einfach wie wirkungsvoll.

Eine hundertprozentige Sicherheit kann aber auch Windows nicht gewährleisten. Das zeigt sich mitunter bei den Shared-DLLs. Von wie vielen Programmen eine bestimmte Bibliothek genutzt wird, verrät die Registry im Schlüssel Hkey_Local_Machine /Software/Microsoft/Windows/CurrentVersion/SharedDLLs. Dort führt das System auch EXE-, OCX und andere Dateien mit Mehrfachverwendung aus. Wie oft eine Bibliothek genutzt wird, zeigt der Zähler, der unter Wert in Klammern steht. Falls hier eine 0 auftaucht, wird diese DLL in der Regel nicht mehr benötigt. Trotzdem sollten Sie die Datei nicht gleich löschen, selbst wenn diese nicht im Verdacht steht, Probleme zu verursachen. Hintergrund: Die Zählung lässt sich von Drittanbietern manipulieren. Die erhöhen den Counter möglicherweise unabsichtlich mehrfach. Oder aber Anwender deinstallieren ein Programm von Hand. Dann bleibt der Zähler unverändert, obwohl die DLL von der entsprechenden Anwendung nicht mehr gebraucht wird.

DLL-Übersicht im Modul MSInfo32.

Detaillierte Informationen sowohl zu den geladenen Dateien als auch zu den Hard- und Software-Einstellungen liefert das Modul Msinfo32, das Sie mit dem Befehl msinfo32.exe über die Eingabeaufforderung starten oder über das Kommando Zubehör – Systemprogramme – Systeminformationen

Unter Softwareumgebung/Geladene Module führt Windows die derzeit aktiven DLLs auf. Es ist durchaus sinnvoll, diese Sammlung als Systeminformationsdatei mit der Endung NFO anzuspeichern, um im Falle eines instabilen Systems die geladenen Module und vor allem deren Versionsnummer miteinander vergleichen zu können. Dann wird auch sehr schnell klar, welche DLLs gelöscht werden dürfen.

KategorienAllgemein