Reklame

Delte biblioteker i Windows gør programmeringen meget mere effektiv for programmereren, der ikke behøver at genopfinde hjulet, hver gang han har brug for at udføre en fælles opgave. De gør det også lettere at tilslutte sikkerhedshuller i den delte kode, når de findes, da det skal lappes på færre steder og kræver ikke, at hver applikation omkompileres.

På trods af disse positive aspekter kan de udgøre deres egne problemer, når de forsøger at løse den grundlæggende årsag til fejlmeddelelser, de måtte generere.

Vores læser spørgsmål:

Hvordan fikser jeg et Windows Vista 32-bit C: \ Windows \ explorer.exe problem på en Dell Inspiron 530?

Når du har klikket på OK-knappen i dialogen, der vises på skærmbilledet, vil skærmen blive mørkere og vende tilbage til det normale kører, men det tillader ikke mig adgang til C, D og til tider E-drevet, når jeg prøver at få adgang til dem fra My Computer.

Løb sfc / scannow finder ikke nogen fejl. Jeg downloadede opdateringer fra både Dell- og Microsoft-webstederne for at løse dette problem. Jeg har også installeret Microsoft Visual C ++ 2010 omdistribuerbar pakke (x86). PC'en er helt opdateret i henhold til Windows Update.

instagram viewer

runtime-fejl

Bruces svar:

Bemærk: Diskussioner om Windows Stifinder i Windows 7 og tidligere versioner gælder også File Explorer i Windows 8 og senere versioner. Hvis der er en bemærkelsesværdig forskel mellem dem, vil det blive udtrykkeligt angivet.

Windows Shell

Windows Stifinder er skallen og kører som explorer.exe-processen, som det ses i Task Manager eller Sysinternals 'Process Explorer Process Explorer - den mest kraftfulde udskiftning af Task Manager [Windows]Lad os være ærlige, Windows Task Manager er ikke så god til at forstå og styre processerne, der kører på din computer. Selv på Windows 8, hvor det er meget forbedret, kan task manager ikke komme tæt på ... Læs mere . Som mange andre Windows-programmer er al den funktionalitet, der leveres af shell, ikke inkorporeret i den ene eksekverbare fil. Der er snesevis af andre EXE og DLL-filer Sådan ordnes manglende DLL-filfejl Læs mere bruges til at implementere ejendomsark, ejendomshåndterere, forhåndsvisningshåndtere, kontekstmenuer og mange andre elementer, du bruger i Windows Stifinder hver dag.

Strækbar skal

Shell-udvidelser gør det muligt for programmerere nemt at tilføje funktionalitet til Windows Stifinder ved at skrive en DLL for at udføre opgave og registrering af DLL med operativsystemet, så Explorer ved, hvor man kan finde koden, der skal udføres opgave. For eksempel, 7-Zip Sådan udpakkes filer fra ZIP, RAR, 7z og andre fælles arkiverHar du nogensinde været konfronteret med en .rar-fil og spekuleret på, hvordan man åbner den? Heldigvis er administration af ZIP-filer og andre komprimerede arkiver enkle med de rigtige værktøjer. Her er hvad du har brug for at vide. Læs mere tilføjer en undermenu til standard kontekstmenuen, der giver hurtig adgang til arkivhåndteringsopgaver, Harddisk Sentinel Hold øje med din HDD & SSD-sundhed med harddisk SentinelHar du nogensinde haft en drevfejl? Desværre er der ikke noget universalmiddel til at forhindre skader på hardware. Men at overvåge din HDD eller SSD for at handle, når deres død bliver sandsynlig, er et første skridt. Læs mere tilføjer ikonoverlejringer til standarddrevikonerne, så du kan se drevets sundhedsstatus med et øjeblik og HashTab tilføjer et nyt egenskabsark til beregning og visning af hash for den valgte fil.

kontekst-menu

Mange af disse shell-udvidelser implementeres som COM-servere i processen. Dette betyder, at når en proces, i dette tilfælde Windows Explorer, bruger udvidelsen, vises den ikke i Task Manager eller Process Explorer som en separat kørende proces med sin egen procesidentifikator (PID). I stedet køres den inde i den opkaldende explorer.exe-proces.

Standard enkeltinstansproces

Windows Stifinder er skrevet for at være i stand til at køre som to separate processer, men - i sin standardkonfiguration - kører den kun en enkelt instans. Når den først udføres som en del af opstartprocessen, skaber det Windows-skrivebordsmiljøet. At udføre den igen opretter en ny tråd i den eksisterende proces, der viser det velkendte filhåndteringsvindue i stedet for at starte en ny proces.

Denne opførsel tillader et reduceret fodaftryk for hukommelse, men kan også medføre sin egen lille vending, når der løses problemer. En kritisk fejl eller uhåndteret undtagelse i kode, der udføres i explorer.exe-processen, inklusive servere under processen leveret af DLLs, får hele skrivebordsmiljøet til at gå ned med det.

I de fleste tilfælde genstartes skrivebordsprocessen automatisk. Hvis det ikke genstarter, skal du stadig være i stand til at bruge Ctrl-Shift-Esc til at hente Task Manager. Gå derfra Fil> Ny opgave (Kør ...)> type explorer.exe> ​​OK for at genstarte processen.

Dette kan undgås med en simpel ændring. Åben Windows Stifinder> Organiser> Mappe- og søgemuligheder i Vista / 7. Åbn for Windows 8 og nyere File Explorer> Vis> Valg> Skift mappe og søgemuligheder. Vælg Vis fane og tjek Start mappevinduer i en separat proces.

mappe-indstillinger

Ændring af denne indstilling isolerer din skrivebordsproces fra alle de andre Windows Explorer-vinduer, du har åbent. Hvis et af disse Explorer-vinduer går ned, forbliver dit skrivebord uskadet.

Microsoft Visual C ++ Runtime Library (CRT)

Microsoft Visual C ++ Runtime Library indeholder rutiner til programmering af Windows, der automatiserer mange opgaver, såsom input / output, filmanipulation, hukommelsesallokering, systemopkald og mange andre.

Hver Windows-installation har mindst to forskellige versioner af CRT installeret. En nybygget Vista SP2 gennem Windows 10-maskine har både version 8.0 og 9.0 (henholdsvis VC 2005 og VC 2008) til stede. Når yderligere software er installeret, kan det også indeholde nyere versioner af driftstiderne, afhængigt af hvilken version af Visual C ++, der blev brugt til at oprette programmet eller en af ​​dets komponenter.

Kørselsfejl

Når der opstår en fejl eller en undtagelse i et stykke kode, håndteres den ideelt set så snart som muligt i den aktuelt udførte procedure, og enten rettes eller tillader en yndefuld fiasko. Hvis fejlen ikke håndteres lokalt, overføres den til den kode, der kaldes den aktuelle eksekverende kode, og processen fortsætter, indtil undtagelsen håndteres. Hvis den afslutter sin kørsel til toppen af ​​kæden, og den stadig ikke håndteres, genererer den en runtime-fejl som set ovenfor.

Når brugeren klikker på OK-knappen, afsluttes processen. Hvis programmet har en defineret fiasko-opførsel, såsom kritiske tjenester, eller dens kørselstilstand overvåges af en anden proces, kan det muligvis automatisk gendannes. Dette er hvad der sker i dette tilfælde. Skærmen bliver mørk, når explorer.exe-processen afsluttes, så kommer skrivebordet tilbage, når explorer.exe-processen genstartes.

Selvom fejlmeddelelsen ovenfor tydeligt angiver, at den kom fra explorer.exe-processen, er det sandsynligvis ikke et problem med explorer.exe i sig selv. Det er meget mere sandsynligt, at den skyldige ligger andre steder, såsom en tredjepartsudvidelse, der bruges af Explorer.

Andre overvejelser

Med vores læsers beskrivelse af problemet ovenfor er der et par ekstra elementer, vi skal tage højde for:

  • På tidspunktet for styrtet prøvede Explorer, men ikke i stand til at udfylde listevisningen.
  • Manglende evne til at få adgang til drev efter skrivebordet er respawned, kan indikere, at en anden proces har en eller flere af disse enheder låst, hvilket forhindrer adgang fra den nyligt oprettede explorer.exe behandle.
  • Løb sfc / scannow og få en ren sundhedsregning, falder Windows-beskyttede ressourcer til bunden af ​​listen til overvejelse. Andre årsager er langt mere sandsynlige.

Rettelser findes

I dette særlige tilfælde er der tre områder, hvor jeg vil lede efter en løsning. Den første involverer Windows Search-tjenesten, den anden involverer undersøgelse af shell-udvidelser, og den sidste ville være selve VC ++ -distribueringerne.

Windows-søgning

Fordi det originale skærmbillede viser nedbruddet sker, når Explorer forsøger at udfylde listevisning, er det muligt, at Windows-søgetjenesten blokerer adgangen til de krævede ressourcer. Jeg har set dette ske, når tjenesten går ned og ikke har de korrekte genstartparametre.

Trykke Vind + R> type services.msc> OK for at starte administrationskonsollen med servicemodulet. Rul ned til Windows-søgning, og dobbeltklik på posten for at åbne dialogboksen Egenskaber. Sørg for, at indstillingerne på fanen Gendannelse stemmer overens med billedet herunder.

vinduer-search-egenskaber

Det mest almindelige problem er indstillingen "Genstart service efter:". Denne fejl opstår ofte, når denne indstilling er ikke-nul.

Problematiske shell-udvidelser

Hent Nirsofts ShellExView til din systemarkitektur (x86 eller x64), installer og kør den. Det vil tage lidt tid at undersøge systemet og udfylde tabellen med data. Rul over til kolonnen CLSID modificeret tid og klik på overskriften for at sortere på dette felt. Hvis du ønsker at ekskludere modulerne leveret af Microsoft, kan du gå til Valg> Skjul alle Microsoft-udvidelser. For dem, der bruger en 64-bit-version af Windows, kan du muligvis også vise 32-bit-udvidelserne på systemet ved at gå til Valg> Vis 32-bit Shell Extensions.

Se efter udvidelser, der blev tilføjet lige før symptomerne begyndte. Vælg en eller flere, og tryk på F7 eller gå til Fil> Deaktiver valgte emner, eller klik på det røde LED-ikon på værktøjslinjen. Ideelt set bør dette gøres én ad gangen.

Test for at se, om symptomerne vedvarer. Hvis de gør det, kan du aktivere de (n) tidligere deaktiverede udvidelse igen ved hjælp af F8, Fil> Aktiver valgte elementer, eller det grønne LED-værktøjslinjeikon. Fra her skal du deaktivere en anden udvidelse og gentage testprocessen, indtil du finder den, der forårsager problemet.

Reparer / geninstaller VC ++ Redistributables

Jeg bruger denne som en sidste udvej, hvis der kun er et program, der sparker ud fejl. Hvis du har flere programmer, der har problemer med VC ++ runtime-fejl, kan du prøve dette først.

Når jeg ser på de installerede programmer på mit system (Kontrolpanel> Programmer og funktioner), viser det hver version af de omfordelbare pakker (og nogle af deres opdateringer) lige fra version 8 til version 12 (VC ++ 2005 til VC ++ 2013). Jeg har dem installeret på grund af de Microsoft programmeringsværktøjer, jeg bruger. De fleste brugere har ikke alle disse.

installeret-vCPP-REDIST

Du kan finde seneste downloads til understøttede versioner af Visual C ++ fra Microsoft. Til vores formål her skal du kun være bekymret for dem, der er mærket som "omfordelelige" pakker. Links, der er klassificeret som servicepakker, er til programmeringsværktøjerne, ikke bare rundtidene. Du har kun brug for dem, der i øjeblikket er anført i de installerede programmer på dit system. Installation af andre versioner hjælper ikke i dette tilfælde. Brugere af 64-bit operativsystemer har muligvis brug for både x86- og x64-versionerne af CRT.

Windows Update kontrollerer, om din computer har de nyeste opdateringer til disse pakker installeret, men det kontrollerer ikke for at sikre, at den er korrekt installeret og ikke er ødelagt. Installatørerne kan kontrollere, at alle runtime-filer er de korrekte, og at alle poster i registreringsdatabasen er korrekte.

Når du har downloadet de relevante installationsprogrammer, skal du køre dem på systemet. 2005-versionerne vil bede dig om at acceptere en licensaftale, før du geninstallerer pakken. Alle de andre har en GUI, der spørger dig, om du vil reparere eller afinstallere den eksisterende installation. I de fleste tilfælde løser en reparation alle problemer.

Hvis du vil prøve den mest ekstreme metode, kan du afinstallere driftstiderne, genstarte maskinen og derefter geninstallere dem. Jeg anbefaler ikke denne metode med driftstiderne 2005 og 2008. Uden dem vil Windows generere en masse fejl, og en hel del funktionalitet vil ikke være der for dig, når du genstarter.

Konklusion

Med en lille smule observation, et strejf af prøve og fejl og en vis forståelse af, hvordan fejl genereres fra driftstider på systemet, softwareproblemer kan findes og løses uden at ty til komplicerede fejlfindingsværktøjer og logfiler.

Har du fundet runtime-fejl på dit system? Hvad kræves for at løse dem? Fortæl mig det i kommentarerne herunder.

Bruce har spillet med elektronik siden 70'erne, computere siden begyndelsen af ​​80'erne og svarer nøjagtigt på spørgsmål om teknologi, som han ikke har brugt eller set hele tiden. Han irriterer sig også ved at forsøge at spille guitar.