Wenn Sie eine Fehlermeldung erhalten, dass Windows eine bestimmte DLL-Datei nicht finden konnte, kann es sehr verlockend sein, die Datei von einer der vielen DLL-Sites herunterzuladen. Hier ist, warum Sie nicht sollten.
Was sind DLLs?
VERBUNDEN: Was ist rundll32.exe und warum läuft es?
Bevor wir uns damit befassen, warum Sie DLL-Dateien (Dynamic Link Library) nicht aus dem Internet herunterladen sollten, werfen wir zunächst einen Blick auf die DLL-Dateien. Eine DLL-Datei ist eine Bibliothek, die einen Satz Code und Daten zum Ausführen einer bestimmten Aktivität in Windows enthält. Apps können dann diese DLL-Dateien aufrufen wenn sie diese Aktivität ausführen müssen. DLL-Dateien ähneln ausführbaren Dateien (EXE), mit der Ausnahme, dass DLL-Dateien nicht direkt in Windows ausgeführt werden können. Mit anderen Worten, Sie können nicht auf eine DLL-Datei doppelklicken, um sie wie eine EXE-Datei auszuführen. Stattdessen können DLL-Dateien von anderen Apps aufgerufen werden. Tatsächlich sind sie so konzipiert, dass sie von mehreren Apps gleichzeitig aufgerufen werden können. Der Link-Teil des DLL-Namens weist noch auf einen weiteren wichtigen Aspekt hin. Es können mehrere DLLs miteinander verknüpft werden, sodass beim Aufrufen einer DLL gleichzeitig mehrere andere DLLs aufgerufen werden.
Windows selbst nutzt DLLs in großem Umfang als Tour durch die
C:\Windows\System32
Ordner kann Ihnen sagen. Betrachten wir als Beispiel für das, worüber wir sprechen, die Windows-Systemdatei "comdlg32.dll". Diese Datei, auch als allgemeine Dialogfeldbibliothek bezeichnet, enthält Code und Daten zum Erstellen vieler allgemeiner Dialogfelder, die in Windows angezeigt werden - Dialogfelder zum Öffnen von Dateien, Drucken von Dokumenten usw. Die Anweisungen in dieser DLL behandeln alles vom Empfangen und Interpretieren von Nachrichten für das Dialogfeld bis zur Angabe, wie das Dialogfeld auf Ihrem Bildschirm aussieht. Natürlich können mehrere Apps gleichzeitig auf diese DLL zugreifen. Andernfalls können Sie ein Dialogfeld (wie das folgende) nicht in mehr als einer App gleichzeitig öffnen.
Mit DLLs kann Code modularisiert und wiederverwendet werden. Dies bedeutet, dass Entwickler keine Zeit damit verbringen müssen, Code von Grund auf neu zu schreiben, um alltägliche oder allgemeine Funktionen auszuführen. Und obwohl Entwickler ihre eigenen DLLs erstellen, um sie mit ihren Apps zu installieren, wird die überwiegende Mehrheit der von Apps aufgerufenen DLLs tatsächlich mit Windows oder zusätzlichen Paketen wie dem gebündelt Microsoft .NET Framework oder Microsoft C ++ Redistributables . Der andere große Vorteil der Modularisierung von Code auf diese Weise besteht darin, dass Updates einfacher auf jede DLL als auf eine gesamte App angewendet werden können - insbesondere, wenn diese DLLs nicht vom Entwickler der App stammen. Wenn Microsoft beispielsweise bestimmte DLLs in seinem .NET Framework aktualisiert, können alle Apps, die diese DLLs verwenden, die aktualisierte Sicherheit oder Funktionalität sofort nutzen.
VERBUNDEN: Was ist Microsoft .NET Framework und warum wird es auf meinem PC installiert?
Heruntergeladene DLLs sind möglicherweise veraltet
Wenn Sie also ein wenig über DLLs wissen, können Sie sie aus dem Internet herunterladen, wenn eine in Ihrem System fehlt.
Das häufigste Problem bei heruntergeladenen DLLs ist, dass sie veraltet sind. Viele der DLL-Sites erhalten ihre DLLs, indem sie sie einfach von ihren eigenen Computern oder den Computern ihrer Benutzer hochladen. Sie können das Problem wahrscheinlich bereits sehen. Die meisten dieser Websites möchten nur Ihren Datenverkehr, und sobald eine DLL hochgeladen wurde, haben sie wenig Anreiz, sicherzustellen, dass die Datei auf dem neuesten Stand gehalten wird. Fügen Sie hinzu, dass Anbieter aktualisierte DLLs normalerweise nicht als einzelne Dateien für die Öffentlichkeit freigeben, und Sie können sehen, dass auch Websites, die Versuchen Dateien auf dem neuesten Stand zu halten, ist wahrscheinlich nicht sehr erfolgreich.
Es gibt auch das weitere Problem, dass DLLs normalerweise in Pakete integriert sind. Ein Update für eine DLL in einem Paket wird häufig von Updates für andere verwandte DLLs im selben Paket begleitet. Dies bedeutet, dass Sie selbst in dem unwahrscheinlichen Fall, dass Sie eine aktuelle DLL-Datei erhalten, keine verwandten Dateien erhalten, die dies auch haben wurde aktualisiert.
Heruntergeladene DLLs können infiziert werden
Obwohl dies seltener vorkommt, besteht ein möglicherweise viel schlimmeres Problem darin, dass DLLs, die Sie von anderen Quellen als dem Hersteller herunterladen, manchmal mit Viren oder anderer Malware geladen werden können, die Ihren PC infizieren können. Dies gilt insbesondere für Websites, die nicht genau darauf achten, woher sie ihre Dateien beziehen. Und es ist nicht so, dass diese Websites sich sehr bemühen, Ihnen über ihre riskanten Quellen zu berichten. Der wirklich beängstigende Teil ist, dass Sie beim Herunterladen einer infizierten DLL-Datei aufgrund der Natur von DLL-Dateien das Risiko eingehen, dieser Datei einen tieferen Zugriff zu gewähren, als dies bei einer normalen infizierten Datei der Fall sein könnte.
VERBUNDEN: Was ist das beste Antivirenprogramm für Windows 10? (Ist Windows Defender gut genug?)
Die gute Nachricht hier ist, dass a Gute Echtzeit-Antiviren-App können diese infizierten DLL-Dateien normalerweise erkennen, bevor sie tatsächlich auf Ihrem System gespeichert werden, und verhindern, dass sie Schaden anrichten. Sie müssen sich jedoch daran erinnern, dass selbst ein großartiges Antivirenprogramm möglicherweise keinen perfekten Schutz bietet. Wenn Sie es sich zur Gewohnheit machen, riskante Dateien herunterzuladen, wird es Sie wahrscheinlich irgendwann einholen. Vermeiden Sie diese DLL-Sites am besten.
Sie werden Ihr Problem wahrscheinlich sowieso nicht lösen
Es ist zwar möglich, dass nur eine einzelne DLL-Datei auf Ihrem PC beschädigt oder gelöscht wurde, es ist jedoch wahrscheinlicher, dass andere DLLs oder verwandte App-Dateien ebenfalls beschädigt sind oder fehlen. Der Grund, warum Sie eine Fehlermeldung zu einer bestimmten Datei erhalten, ist, dass dies der erste Fehler ist, auf den eine App vor dem Absturz gestoßen ist, und dass Sie einfach nicht über den Rest benachrichtigt werden. Dies kann unabhängig von der Ursache des Problems zutreffen.
Warum könnten DLLs verloren gehen oder beschädigt werden? Es kann sein, dass eine andere fehlerhafte App oder ein fehlerhaftes Update versucht hat, die Datei zu ersetzen, und fehlgeschlagen ist oder sie durch eine veraltete Kopie ersetzt hat. Möglicherweise liegt ein Fehler bei der Installation Ihrer Haupt-App oder in einem Paket wie .NET vor. Es kann sogar sein, dass Sie ein anderes Problem haben - wie z fehlerhafte Sektoren auf Ihrer Festplatte - Das verhindert, dass die Datei korrekt geladen wird.
Wie kann ich meinen DLL-Fehler beheben?
Die einzige Möglichkeit, um sicherzustellen, dass Sie eine stabile, aktuelle und saubere DLL erhalten, besteht darin, sie über die Quelle abzurufen, von der sie stammt. In der Regel lautet diese Quelle:
VERBUNDEN: So suchen Sie in Windows nach beschädigten Systemdateien (und beheben diese)
- Ihr Windows-Installationsmedium . Es ist unwahrscheinlich, dass Sie einfach eine DLL-Datei von Ihrem Installationsmedium kopieren können. Sie haben jedoch eine schnelle Möglichkeit, dies zu versuchen, bevor Sie etwas so drastisches wie die Neuinstallation von Windows ausführen. Sie können Verwenden Sie das Windows-Ressourcenschutz-Tool (wird oft als System File Checker oder SFC bezeichnet), mit dem nach beschädigten oder fehlenden Systemdateien in Windows gesucht und diese behoben werden. Sie sollten Ihr Installationsmedium zur Hand haben, wenn Sie das Tool ausführen, nur für den Fall, dass es eine Datei von dort kopieren muss. (Wenn Sie keine Installations-CD haben, können Sie dies tun Laden Sie hier eine herunter .)
- Die Microsoft .NET Framework-Pakete . Mehrere Versionen von .NET werden automatisch zusammen mit Windows installiert, und viele Apps installieren auch Dateien aus diesen Paketen. Du kannst lesen unser Artikel über das .NET Framework , die auch einige Ratschläge zum Auffinden und Reparieren der damit verbundenen Probleme enthält.
- Verschiedene Microsoft Visual C ++ Redistributable-Pakete . Abhängig von den von Ihnen verwendeten Apps sind möglicherweise mehrere Versionen von C ++ Redistributable auf Ihrem PC installiert. Es kann manchmal schwierig sein, den Schuldigen einzugrenzen, aber ein guter Ausgangspunkt ist unser Artikel über C ++ Redistributables Hier finden Sie auch mehrere Schritte zur Fehlerbehebung und Links, über die Sie die aktuellsten Versionen direkt von Microsoft herunterladen können.
- Die App, mit der die DLL geliefert wurde . Wenn die DLL zusammen mit einer App installiert wurde und nicht Teil eines separaten Pakets ist, ist es am besten, die App neu zu installieren. Bei einigen Apps können Sie eine Reparatur anstelle einer vollständigen Neuinstallation durchführen. Beide Optionen sollten funktionieren, da bei einer Reparatur normalerweise nach fehlenden Dateien in den Installationsordnern gesucht wird.
Wenn dies alles fehlschlägt, können Sie sich möglicherweise an den App-Anbieter wenden und eine Kopie einer einzelnen DLL-Datei anfordern. Einige Unternehmen sind offen für diese Anfrage; manche nicht. Wenn Sie auf ein Unternehmen stoßen, das keine einzelnen Dateien bereitstellt, kann es möglicherweise andere Vorschläge zur Lösung Ihres Problems unterbreiten.