Was sind DLL-Dateien und warum fehlt eine von meinem PC?
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??
Bevor wir uns damit beschäftigen, 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 von Code und Daten zum Ausführen einer bestimmten Aktivität in Windows enthält. Apps können dann diese DLL-Dateien aufrufen, wenn diese Aktivität ausgeführt werden muss. DLL-Dateien ähneln ausführbaren Dateien (EXE-Dateien), mit der Ausnahme, dass DLL-Dateien nicht direkt in Windows ausgeführt werden können. Mit anderen Worten, Sie können nicht doppelt auf eine DLL-Datei klicken, um sie wie eine EXE-Datei auszuführen. DLL-Dateien sollen stattdessen von anderen Apps abgerufen werden. Sie sind so konzipiert, dass sie von mehreren Apps gleichzeitig abgerufen werden können. Der Link-Teil des DLL-Namens weist auch auf einen anderen wichtigen Aspekt hin. Mehrere DLLs können miteinander verbunden werden, so dass beim Aufruf einer DLL auch mehrere andere DLLs gleichzeitig aufgerufen werden.
Windows verwendet DLLs ausgiebig, um sie durch die C: \ Windows \ System32
Ordner kann Ihnen sagen. Als ein Beispiel für das, worüber wir sprechen, betrachten wir die Windows-Systemdatei „comdlg32.dll“. Diese Datei, auch als Common Dialog Box Library bezeichnet, enthält Code und Daten zum Erstellen vieler allgemeiner Dialogfelder, die Sie sehen Windows-Dialoge zum Öffnen von Dateien, Drucken von Dokumenten usw. Die Anweisungen in dieser DLL behandeln alles, vom Empfangen und Interpretieren von Meldungen für das Dialogfeld bis zum Festlegen, wie das Dialogfeld auf Ihrem Bildschirm aussieht. Natürlich können mehrere Apps gleichzeitig mit dieser DLL aufgerufen werden. Andernfalls können Sie ein Dialogfeld (wie das unten stehende) nicht in mehr als einer App gleichzeitig öffnen.
DLLs ermöglichen die Modularisierung und Wiederverwendung von Code, sodass Entwickler keine Zeit damit verbringen müssen, Code von Grund auf neu zu schreiben, um banale oder allgemeine Funktionen auszuführen. Und obwohl Entwickler eigene DLLs erstellen, die mit ihren Apps installiert werden sollen, werden die meisten von Apps aufgerufenen DLLs tatsächlich mit Windows oder mit zusätzlichen Paketen wie Microsoft .NET Framework oder Microsoft C ++ Redistributables gebündelt. Der andere große Vorteil der Modularisierung von Code auf diese Weise ist, dass Updates leichter auf jede DLL angewendet werden können als auf eine gesamte App. Dies gilt insbesondere dann, wenn diese DLLs nicht vom Entwickler der App stammen. Wenn Microsoft beispielsweise bestimmte DLLs in .NET Framework aktualisiert, können alle Apps, die diese DLLs verwenden, sofort die aktualisierte Sicherheit oder Funktionalität nutzen.
Heruntergeladene DLLs sind möglicherweise veraltet
Wenn Sie also ein wenig mit den DLLs unter unseren Gürteln vertraut sind, 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 DLLs-Sites erhalten ihre DLLs, indem sie sie einfach von ihren eigenen Computern oder den Computern ihrer Benutzer hochladen. Sie können das Problem wahrscheinlich schon sehen. Die meisten dieser Sites möchten nur Ihren Datenverkehr und sobald eine DLL hochgeladen ist, besteht wenig Anreiz, um sicherzustellen, dass die Datei auf dem neuesten Stand ist. Hinzu kommt, dass Hersteller normalerweise aktualisierte DLLs nicht als einzelne Dateien für die Öffentlichkeit freigeben, und Sie können sogar sehen, dass Sites wer sind Versuchen Dateien auf dem neuesten Stand zu halten, ist wahrscheinlich nicht sehr erfolgreich.
Außerdem besteht das Problem, dass DLLs normalerweise in Paketen integriert sind. Ein Update einer DLL in einem Paket wird häufig von Updates anderer, verwandter DLLs im selben Paket begleitet. Dies bedeutet, dass selbst in dem unwahrscheinlichen Fall, dass Sie eine aktuelle DLL-Datei erhalten, keine verwandten Dateien angezeigt werden, die dies ebenfalls tun aktualisiert worden.
Heruntergeladene DLLs können infiziert werden
Ein seltener auftretendes Problem ist, dass DLLs, die Sie aus 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 wissen, wo sie ihre Dateien erhalten. Und es ist nicht so, als würden diese Seiten alles tun, um Sie über ihre riskanten Quellen zu informieren. Der wirklich beängstigende Teil ist, dass wenn Sie eine infizierte DLL-Datei herunterladen, Sie durch die Natur der DLL-Dateien ein Risiko haben, dass diese Datei einen tieferen Zugriff hat, als dies bei einer normalen infizierten Datei der Fall ist.
Die gute Nachricht ist, dass eine gute Echtzeit-Antivirus-App diese infizierten DLL-Dateien normalerweise erkennen kann, bevor sie tatsächlich auf Ihrem System gespeichert werden, und verhindern, dass sie Schaden nehmen. Sie müssen jedoch bedenken, dass selbst ein hervorragendes Antivirenprogramm möglicherweise keinen perfekten Schutz bietet. Wenn Sie es sich zur Gewohnheit machen, riskante Dateien herunterzuladen, werden Sie wahrscheinlich irgendwann nachholen. Es ist am besten, diese DLL-Sites einfach zu vermeiden.
Sie werden Ihr Problem wahrscheinlich sowieso nicht lösen
Während es möglich ist, dass nur eine einzige DLL-Datei auf Ihrem PC beschädigt oder gelöscht wurde, ist es wahrscheinlicher, dass auch andere DLLs oder verwandte Anwendungsdateien beschädigt sind oder fehlen. Der Grund, warum Sie eine Fehlermeldung zu einer bestimmten Datei erhalten, ist, dass dies der erste Fehler ist, dem eine App vor dem Absturz auftrat, und Sie werden einfach nicht über den Rest informiert. Dies kann unabhängig von der Ursache des Problems zutreffen.
Warum können DLLs verloren gehen oder beschädigt werden? Möglicherweise hat eine andere fehlerhafte App oder ein anderes Update versucht, die Datei zu ersetzen und ist fehlgeschlagen oder durch eine veraltete Kopie ersetzt worden. Möglicherweise liegt ein Fehler bei der Installation Ihrer Hauptanwendung oder in einem Paket wie .NET vor. Es kann sogar sein, dass Sie auf Ihrer Festplatte ein anderes Problem haben - beispielsweise fehlerhafte Sektoren -, die das korrekte Laden der Datei verhindern.
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 durch die Quelle zu bekommen, von der sie stammt. Typischerweise wird diese Quelle sein:
- Ihre Windows-Installationsmedien. Es ist unwahrscheinlich, dass Sie eine DLL-Datei einfach von Ihrem Installationsmedium kopieren können. Sie haben jedoch eine schnelle Möglichkeit, dies zu tun, bevor Sie etwas so drastisches tun wie das erneute Installieren von Windows. Sie können das Windows Resource Protection-Tool (häufig auch als Systemdateiprüfung oder SFC bezeichnet) verwenden, das nach beschädigten oder fehlenden Systemdateien in Windows sucht und diese repariert. Sie sollten Ihr Installationsmedium zur Verfügung haben, wenn Sie das Tool ausführen, nur für den Fall, dass eine Datei von dort kopiert werden muss. (Wenn Sie keine Installations-CD haben, können Sie sie hier herunterladen.)
- Die Microsoft .NET Framework-Pakete. Verschiedene Versionen von .NET werden automatisch zusammen mit Windows installiert, und viele Apps installieren auch Dateien aus diesen Paketen. Sie können unseren Artikel über das .NET-Framework lesen, der auch Hinweise zum Finden und Beheben zugehöriger Probleme enthält.
- Verschiedene Microsoft Visual C ++ Redistributable-Pakete. Abhängig von den von Ihnen verwendeten Apps haben Sie möglicherweise mehrere Versionen der C ++ Redistributable auf Ihrem PC installiert. Es kann manchmal schwierig sein, den genauen Grund für den Täter festzulegen, aber ein guter Anfang ist unser Artikel zu C ++ Redistributables, der auch mehrere Schritte zur Problembehandlung und Links enthält, ü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, sollten Sie die App einfach neu installieren. Bei einigen Apps können Sie anstelle einer vollständigen Neuinstallation eine Reparatur durchführen. Beide Optionen sollten funktionieren, da eine Reparatur normalerweise nach fehlenden Dateien in den Installationsordnern sucht.
Wenn dies alles nicht funktioniert, können Sie möglicherweise den App-Anbieter kontaktieren und eine Kopie einer einzelnen DLL-Datei anfordern. Einige Unternehmen stehen dieser Anfrage offen gegenüber. manche sind es nicht. Wenn Sie auf ein Unternehmen stoßen, das keine einzelnen Dateien bereitstellt, können diese zumindest andere Vorschläge zur Lösung Ihres Problems unterbreiten.