Werbung

Gemeinsame Bibliotheken in Windows machen die Programmierung für den Programmierer viel effizienter, der das Rad nicht jedes Mal neu erfinden muss, wenn er eine gemeinsame Aufgabe ausführen muss. Sie erleichtern auch das Schließen von Sicherheitslücken in gemeinsam genutzten Code, wenn diese gefunden werden, da sie an weniger Stellen gepatcht werden müssen und nicht jede Anwendung neu kompiliert werden muss.

Trotz dieser positiven Aspekte können sie ihre eigenen Probleme aufwerfen, wenn sie versuchen, die Hauptursache für Fehlermeldungen zu beheben, die sie möglicherweise generieren.

Frage unseres Lesers:

Wie behebe ich ein 32-Bit-Problem mit Windows Vista C: \ Windows \ explorer.exe auf einem Dell Inspiron 530?

Nachdem Sie im im Screenshot gezeigten Dialogfeld auf die Schaltfläche OK geklickt haben, wird der Bildschirm schwarz und kehrt zum Normalzustand zurück wird ausgeführt, aber ich kann nicht auf das Laufwerk C, D und manchmal auf das Laufwerk E zugreifen, wenn ich versuche, über My auf sie zuzugreifen Computer.

instagram viewer

Laufen sfc / scannow findet keine Fehler. Ich habe Updates von der Dell- und der Microsoft-Website heruntergeladen, um dieses Problem zu beheben. Ich habe auch das Microsoft Visual C ++ 2010 Redistributable Package (x86) installiert. Der PC ist laut Windows Update vollständig auf dem neuesten Stand.

Laufzeit Fehler

Antwort von Bruce:

Hinweis: Diskussionen über Windows Explorer in Windows 7 und früheren Versionen gelten auch für den Datei-Explorer in Windows 8 und höheren Versionen. Wenn es einen bemerkenswerten Unterschied zwischen ihnen gibt, wird dies ausdrücklich angegeben.

Die Windows-Shell

Windows Explorer ist die Shell und wird als explorer.exe-Prozess ausgeführt, wie im Task-Manager oder angezeigt Prozess-Explorer von Sysinternals Prozess-Explorer - Der leistungsstärkste Task-Manager-Ersatz [Windows]Seien wir ehrlich, der Windows Task-Manager ist nicht besonders gut geeignet, um die auf Ihrem Computer ausgeführten Prozesse zu verstehen und zu verwalten. Selbst unter Windows 8, wo es stark verbessert wurde, kann der Task-Manager ... Weiterlesen . Wie bei vielen anderen Windows-Programmen sind nicht alle von der Shell bereitgestellten Funktionen in dieser einzelnen ausführbaren Datei enthalten. Es gibt Dutzende anderer EXE und DLL-Dateien So beheben Sie fehlende DLL-Dateifehler Weiterlesen Wird verwendet, um Eigenschaftenblätter, Eigenschaftenhandler, Vorschau-Handler, Kontextmenüs und viele andere Elemente zu implementieren, die Sie täglich im Windows Explorer verwenden.

Erweiterbare Shell

Mit Shell-Erweiterungen können Programmierer dem Windows Explorer auf einfache Weise Funktionen hinzufügen, indem sie eine DLL schreiben, um die auszuführen Aufgabe und Registrieren der DLL beim Betriebssystem, damit der Explorer weiß, wo er den Code findet, um das auszuführen Aufgabe. Zum Beispiel, 7-Zip So extrahieren Sie Dateien aus ZIP, RAR, 7z und anderen gängigen ArchivenWurden Sie jemals mit einer .rar-Datei konfrontiert und haben sich gefragt, wie Sie sie öffnen sollen? Glücklicherweise ist die Verwaltung von ZIP-Dateien und anderen komprimierten Archiven mit den richtigen Tools einfach. Folgendes müssen Sie wissen. Weiterlesen fügt dem Standardkontextmenü ein Untermenü hinzu, das einen schnellen Zugriff auf Archivierungsaufgaben ermöglicht. Hard Disk Sentinel Behalten Sie Ihre Festplatten- und SSD-Gesundheit mit Hard Disk Sentinel im AugeHatten Sie jemals einen Laufwerksausfall? Leider gibt es kein Allheilmittel, um Hardwareschäden zu verhindern. Die Überwachung Ihrer Festplatte oder SSD, um zu handeln, wenn der Tod wahrscheinlich wird, ist jedoch ein erster Schritt. Weiterlesen Fügt den Standard-Laufwerkssymbolen Symbolüberlagerungen hinzu, sodass Sie den Status des Laufwerkszustands auf einen Blick sehen können HashTab Fügt ein neues Eigenschaftenblatt hinzu, um Hashes der ausgewählten Datei zu berechnen und anzuzeigen.

Kontextmenü

Viele dieser Shell-Erweiterungen sind als in Bearbeitung befindliche COM-Server (Component Object Model) implementiert. Dies bedeutet, dass ein Prozess, in diesem Fall Windows Explorer, die Erweiterung verwendet, nicht angezeigt wird im Task-Manager oder im Prozess-Explorer als separater laufender Prozess mit eigener Prozesskennung (PID). Stattdessen wird es im aufrufenden Prozess explorer.exe ausgeführt.

Standard-Einzelinstanzprozess

Windows Explorer kann als zwei separate Prozesse ausgeführt werden, führt jedoch in der Standardkonfiguration nur eine einzige Instanz aus. Wenn es zum ersten Mal als Teil des Startvorgangs ausgeführt wird, wird die Windows-Desktopumgebung erstellt. Durch erneutes Ausführen wird ein neuer Thread im vorhandenen Prozess erstellt, der das bekannte Dateiverwaltungsfenster anzeigt, anstatt einen neuen Prozess zu starten.

Dieses Verhalten ermöglicht einen verringerten Speicherbedarf, kann aber auch bei der Fehlerbehebung eine eigene kleine Wendung mit sich bringen. Ein kritischer Fehler oder eine nicht behandelte Ausnahme im Code, der im explorer.exe-Prozess ausgeführt wird, einschließlich der von DLLs bereitgestellten In-Process-Server, führt dazu, dass die gesamte Desktop-Umgebung ausfällt.

In den meisten Fällen wird der Desktop-Prozess automatisch neu gestartet. Wenn es nicht neu gestartet wird, sollten Sie weiterhin Strg-Umschalt-Esc verwenden können, um den Task-Manager aufzurufen. Von dort gehen Sie zu Datei> Neue Aufgabe (Ausführen…)> Art explorer.exe> ​​OK um den Prozess neu zu starten.

Dies kann mit einer einfachen Änderung vermieden werden. Öffnen Windows Explorer> Organisieren> Ordner- und Suchoptionen in Vista / 7. Öffnen Sie für Windows 8 und höher Datei-Explorer> Ansicht> Optionen> Ordner- und Suchoptionen ändern. Wähle aus Registerkarte "Ansicht" und prüfe Starten Sie Ordnerfenster in einem separaten Prozess.

Ordneroptionen

Durch Ändern dieser Einstellung wird Ihr Desktop-Prozess von allen anderen geöffneten Windows Explorer-Fenstern isoliert. Wenn eines dieser Explorer-Fenster abstürzt, bleibt Ihr Desktop unversehrt.

Microsoft Visual C ++ - Laufzeitbibliothek (CRT)

Die Microsoft Visual C ++ - Laufzeitbibliothek bietet Routinen zum Programmieren von Windows, die viele Aufgaben automatisieren, z. B. Eingabe / Ausgabe, Dateimanipulation, Speicherzuweisung, Systemaufrufe und viele andere.

Bei jeder Windows-Installation sind mindestens zwei verschiedene Versionen der CRT installiert. Auf einem frisch erstellten Vista SP2 bis Windows 10-Computer sind sowohl Version 8.0 als auch 9.0 (VC 2005 bzw. VC 2008) vorhanden. Wenn zusätzliche Software installiert wird, kann diese auch neuere Versionen der Laufzeiten enthalten, je nachdem, welche Version von Visual C ++ zum Erstellen des Programms oder einer seiner Komponenten verwendet wurde.

Laufzeitfehler

Wenn in einem Code ein Fehler oder eine Ausnahme auftritt, wird dieser im Idealfall sofort behandelt möglich in der aktuell ausgeführten Prozedur, und entweder korrigiert werden oder eine anmutige ermöglichen Fehler. Wenn der Fehler nicht lokal behandelt wird, wird er an den Code übergeben, der den aktuell ausgeführten Code aufgerufen hat, und der Prozess wird fortgesetzt, bis die Ausnahme behandelt wird. Wenn der Lauf an die Spitze der Kette abgeschlossen ist und er immer noch nicht behandelt wird, wird ein Laufzeitfehler wie oben dargestellt generiert.

Wenn der Benutzer auf die Schaltfläche OK klickt, wird der Vorgang beendet. Wenn das Programm ein definiertes Fehlerverhalten aufweist, z. B. kritische Dienste, oder sein Ausführungsstatus von einem anderen Prozess überwacht wird, wird es möglicherweise automatisch erneut gestartet. Dies ist, was in diesem Fall passiert. Der Bildschirm wird schwarz, wenn der Prozess explorer.exe beendet wird, und der Desktop wird wieder angezeigt, wenn der Prozess explorer.exe neu gestartet wird.

Obwohl die obige Fehlermeldung eindeutig anzeigt, dass sie vom Prozess explorer.exe stammt, ist es unwahrscheinlich, dass es sich um ein Problem mit explorer.exe selbst handelt. Es ist viel wahrscheinlicher, dass der Schuldige anderswo liegt, beispielsweise in einer Drittanbieter-Erweiterung, die vom Explorer verwendet wird.

Andere Überlegungen

Bei der Beschreibung des oben genannten Problems durch unseren Leser müssen einige zusätzliche Punkte berücksichtigt werden:

  • Zum Zeitpunkt des Absturzes versuchte der Explorer, die Listenansicht zu füllen, konnte sie jedoch nicht ausfüllen.
  • Die Unfähigkeit, auf Laufwerke zuzugreifen, nachdem der Desktop erneut gestartet wurde, kann darauf hinweisen, dass ein anderer Prozess über eines verfügt oder mehrere dieser Geräte sind gesperrt, wodurch der Zugriff über die neu erstellte explorer.exe verhindert wird Prozess.
  • Laufen sfc / scannow Wenn Sie ein sauberes Gesundheitszeugnis erhalten, werden Windows-geschützte Ressourcen zur Prüfung an den unteren Rand der Liste verschoben. Andere Ursachen sind weitaus wahrscheinlicher.

Die Korrekturen sind in

In diesem speziellen Fall gibt es drei Bereiche, in denen ich nach einer Lösung suchen würde. Der erste betrifft den Windows-Suchdienst, der zweite die Untersuchung von Shell-Erweiterungen und der letzte die VC ++ - Redistributables selbst.

Windows-Suche

Weil der ursprüngliche Screenshot den Absturz zeigt, der auftritt, wenn der Explorer versucht, den zu füllen Listenansicht ist es möglich, dass der Windows-Suchdienst den Zugriff auf die erforderlichen Ressourcen blockiert. Ich habe gesehen, dass dies passiert, wenn der Dienst abstürzt und nicht die richtigen Neustartparameter hat.

Drücken Sie Win + R> Art services.msc> OK um die Verwaltungskonsole mit dem Servicemodul zu starten. Scrollen Sie nach unten zur Windows-Suche und doppelklicken Sie auf den Eintrag, um das Dialogfeld Eigenschaften zu öffnen. Stellen Sie sicher, dass die Einstellungen auf der Registerkarte Wiederherstellung mit dem folgenden Bild übereinstimmen.

Windows-Sucheigenschaften

Das häufigste Problem ist die Einstellung "Dienst nach: neu starten". Dieser Fehler tritt häufig auf, wenn diese Einstellung nicht Null ist.

Problematische Shell-Erweiterungen

Herunterladen ShellExView von Nirsoft Installieren Sie Ihre Systemarchitektur (x86 oder x64) und führen Sie sie aus. Es wird einige Zeit dauern, das System zu untersuchen und die Tabelle mit Daten zu füllen. Scrollen Sie zur Spalte CLSID Modified Time und klicken Sie auf die Überschrift, um nach diesem Feld zu sortieren. Wenn Sie die von Microsoft bereitgestellten Module ausschließen möchten, können Sie zu gehen Optionen> Alle Microsoft-Erweiterungen ausblenden. Wenn Sie eine 64-Bit-Version von Windows verwenden, möchten Sie möglicherweise auch die 32-Bit-Erweiterungen auf dem System anzeigen, indem Sie auf gehen Optionen> 32-Bit-Shell-Erweiterungen anzeigen.

Suchen Sie nach Erweiterungen, die kurz vor Beginn der Symptome hinzugefügt wurden. Wählen Sie eine oder mehrere aus und drücken Sie F7 oder gehen zu Datei> Ausgewählte Elemente deaktivierenoder klicken Sie auf das rote LED-Symbol in der Symbolleiste. Idealerweise sollte dies einzeln durchgeführt werden.

Testen Sie, ob die Symptome bestehen bleiben. In diesem Fall können Sie die zuvor deaktivierten Erweiterungen mithilfe von erneut aktivieren F8, Datei> Ausgewählte Elemente aktivierenoder das grüne LED-Symbolleistensymbol. Deaktivieren Sie von hier aus eine andere Erweiterung und wiederholen Sie den Testvorgang, bis Sie diejenige finden, die das Problem verursacht.

Reparieren / Neuinstallieren von VC ++ Redistributables

Ich benutze dieses als letzten Ausweg, wenn nur ein Programm Fehler auslöst. Wenn Sie mehrere Programme haben, die Probleme mit VC ++ - Laufzeitfehlern haben, sollten Sie dies zuerst versuchen.

Wenn Sie sich die auf meinem System installierten Programme ansehen (Systemsteuerung> Programme und Funktionen) zeigt jede Version der weitervertreibbaren Pakete (und einige ihrer Updates) von Version 8 bis Version 12 (VC ++ 2005 bis VC ++ 2013). Ich habe sie aufgrund der von mir verwendeten Microsoft-Programmiertools installiert. Die meisten Benutzer werden nicht alle diese haben.

installierte-vcpp-redist

Sie finden die Neueste Downloads für unterstützte Versionen von Visual C ++ von Microsoft. Für unsere Zwecke hier müssen Sie sich nur mit denen befassen, die als "weiterverteilbare" Pakete gekennzeichnet sind. Links, die als Service Packs klassifiziert sind, dienen den Programmiertools und nicht nur den Laufzeiten. Sie benötigen nur diejenigen, die derzeit in den auf Ihrem System installierten Programmen aufgeführt sind. Die Installation anderer Versionen hilft in diesem Fall nicht weiter. Benutzer von 64-Bit-Betriebssystemen benötigen möglicherweise sowohl die x86- als auch die x64-Version der CRT.

Windows Update überprüft, ob auf Ihrem Computer die neuesten Updates für diese Pakete installiert sind. Es wird jedoch nicht überprüft, ob es ordnungsgemäß installiert und nicht fehlerhaft ist. Die Installationsprogramme können überprüfen, ob alle Laufzeitdateien korrekt sind und alle Registrierungseinträge korrekt sind.

Nachdem Sie die entsprechenden Installationsprogramme heruntergeladen haben, führen Sie sie auf dem System aus. In den Versionen 2005 werden Sie aufgefordert, eine Lizenzvereinbarung zu akzeptieren, bevor Sie das Paket neu installieren. Alle anderen haben eine GUI, die Sie fragt, ob Sie die vorhandene Installation reparieren oder deinstallieren möchten. In den meisten Fällen werden Probleme durch einen Reparaturvorgang behoben.

Wenn Sie die extremste Methode ausprobieren möchten, können Sie die Laufzeiten deinstallieren, den Computer neu starten und dann neu installieren. Ich empfehle diese Methode bei den Laufzeiten 2005 und 2008 nicht. Ohne sie generiert Windows viele Fehler und viele Funktionen stehen Ihnen beim Neustart nicht zur Verfügung.

Fazit

Mit ein wenig Beobachtung, einem Hauch von Versuch und Irrtum und etwas Verständnis dafür, wie Fehler entstehen Während der Laufzeit des Systems können Softwareprobleme gefunden und behoben werden, ohne auf komplizierte Debugging-Tools und zurückgreifen zu müssen Protokolle.

Sind auf Ihrem System Laufzeitfehler aufgetreten? Was war erforderlich, um sie zu lösen? Lass es mich in den Kommentaren unten wissen.

Bruce spielt seit den 70er Jahren mit Elektronik, seit den frühen 80er Jahren mit Computern und beantwortet Fragen zu Technologien, die er die ganze Zeit weder benutzt noch gesehen hat. Er ärgert sich auch, wenn er versucht, Gitarre zu spielen.