Når du får en fejl, der siger, at Windows ikke kunne finde en bestemt DLL-fil, kan det være frygteligt fristende at downloade filen fra en af de mange DLL-sider derude. Her er hvorfor du ikke burde.
Hvad er DLL'er?
RELATEREDE: Hvad er rundll32.exe, og hvorfor kører det?
Før vi kommer i gang med, hvorfor du ikke skal downloade Dynamic Link Library (DLL) -filer fra internettet, skal vi først se på, hvad DLL-filer er. En DLL-fil er et bibliotek, der indeholder et sæt kode og data til udførelse af en bestemt aktivitet i Windows. Apps kan derefter kalde på disse DLL-filer når de har brug for den aktivitet, der udføres. DLL-filer ligner meget eksekverbare (EXE) filer, bortset fra at DLL-filer ikke kan udføres direkte i Windows. Med andre ord kan du ikke dobbeltklikke på en DLL-fil for at køre den på samme måde som en EXE-fil. I stedet er DLL-filer designet til at blive kaldt af andre apps. Faktisk er de designet til at blive kaldt af flere apps på én gang. “Link” -delen af DLL-navnet antyder også et andet vigtigt aspekt. Flere DLL'er kan knyttes sammen, så når en DLL kaldes, kaldes et antal andre DLL'er også på samme tid.
Windows selv bruger omfattende brug af DLL'er som en tur gennem
C: \ Windows \ System32
mappe kan fortælle dig. Som et eksempel på, hvad vi taler om, lad os overveje Windows-systemfilen "comdlg32.dll." Denne fil, ellers kendt som Common Dialog Box Library, indeholder kode og data til opbygning af mange af de almindelige dialogbokse, du ser i Windows - dialoger om ting som at åbne filer, udskrive dokumenter osv. Instruktionerne i denne DLL håndterer alt fra modtagelse og fortolkning af meddelelser, der er beregnet til dialogboksen, til at specificere, hvordan dialogboksen ser ud på din skærm. Naturligvis kan flere apps kalde på denne DLL på samme tid, ellers ville du ikke være i stand til at åbne en dialogboks (som den nedenfor) i mere end en app ad gangen.
DLL'er tillader, at kode moduleres og genbruges, hvilket betyder, at udviklere ikke behøver at bruge tid på at skrive kode fra bunden for at udføre almindelige eller almindelige funktioner. Og selvom udviklere opretter deres egne DLL'er, der skal installeres med deres apps, er langt størstedelen af DLL'er, der kaldes af apps, faktisk samlet med Windows eller med ekstra pakker, som Microsoft .NET Framework eller Microsoft C ++ Omfordelbare enheder . Den anden store fordel ved at modulere kode på denne måde er, at opdateringer er lettere at anvende på hver DLL snarere end på en hel app - især når disse DLL'er ikke kom fra udvikleren af appen. For eksempel, når Microsoft opdaterer visse DLL'er i sin .NET Framework, kan alle apps, der bruger disse DLL'er, straks drage fordel af den opdaterede sikkerhed eller funktionalitet.
RELATEREDE: Hvad er Microsoft .NET Framework, og hvorfor installeres det på min pc?
Downloadede DLL'er kan være forældede
Så med lidt forståelse af DLL'er under vores bælter, hvorfor ikke downloade dem fra Internettet, når en mangler fra dit system?
Det mest almindelige problem, du vil støde på med downloadede DLL'er, er, at de er forældede. Mange af DLL-siderne derude får deres DLL'er ved blot at uploade dem fra deres egne - eller deres brugeres - computere. Du kan sandsynligvis allerede se problemet. De fleste af disse websteder vil bare have din trafik, og når en DLL er uploadet, har de lidt incitament til at sikre, at filen holdes opdateret. Tilføj til dette, at leverandører typisk ikke frigiver opdaterede DLL'er til offentligheden som individuelle filer, og du kan se, at selv websteder, der prøve at holde filer ajour er sandsynligvis ikke meget succesrige.
Der er også det yderligere problem, at DLL'er normalt integreres i pakker. En opdatering til en DLL i en pakke ledsages ofte af opdateringer til andre relaterede DLL'er i den samme pakke, hvilket betyder, at selv i det usandsynlige tilfælde, at du får en opdateret DLL-fil, får du ikke relaterede filer, der også har blevet opdateret.
Downloadede DLL'er kan inficeres
Selvom det er mindre almindeligt, er et potentielt meget værre problem, at DLL'er, du downloader fra andre kilder end leverandøren, undertiden kan indlæses med vira eller anden malware, der kan inficere din pc. Dette gælder især på websteder, der ikke er for forsigtige med, hvor de får deres filer. Og det er ikke sådan, at disse websteder vil gøre alt for at fortælle dig om deres risikable kilder. Den virkelig skræmmende del er, at hvis du downloader en inficeret DLL-fil, risikerer du - i sagens natur af DLL-filer - at give filen dybere adgang, end en almindelig inficeret fil muligvis får.
RELATEREDE: Hvad er det bedste antivirusprogram til Windows 10? (Er Windows Defender god nok?)
Den gode nyhed her er, at en god antivirus-app i realtid kan normalt registrere disse inficerede DLL-filer, før de faktisk gemmes på dit system og forhindre dem i at gøre nogen skade. Alligevel skal du huske, at selv et stort antivirusprogram muligvis ikke giver dig perfekt beskyttelse. Hvis du har en vane med at downloade risikable filer, vil det sandsynligvis indhente dig på et eller andet tidspunkt. Det er bedst at bare undgå disse DLL-sider.
De løser sandsynligvis ikke dit problem alligevel
Selvom det er muligt, at kun en enkelt DLL-fil på din pc er blevet ødelagt eller slettet, er det mere sandsynligt, at andre DLL'er eller relaterede appfiler også er korrupte eller mangler. Årsagen til, at du får en fejl om en bestemt fil, er, at det er den første fejl, en app stødte på, før den styrtede ned, og at du simpelthen ikke får besked om resten. Dette kan være sandt uanset årsagen til problemet.
RELATEREDE: Forklarede dårlige sektorer: Hvorfor harddiske får dårlige sektorer, og hvad du kan gøre ved det
Hvorfor kan DLL'er forsvinde eller være korrupte? Det kan være, at en anden vildfarende app eller opdatering forsøgte at erstatte filen og mislykkedes, eller erstattede den med en forældet kopi. Det kan være en fejl i installationen af din hovedapp eller i en pakke som .NET. Det kan endda være, at du har et andet problem - ligesom dårlige sektorer på din harddisk —Det forhindrer filen i at indlæses korrekt.
Hvordan kan jeg rette min DLL-fejl?
Den eneste måde at sikre dig en stabil, opdateret og ren DLL er at få den gennem den kilde, hvorfra den stammer. Typisk vil denne kilde være:
RELATEREDE: Sådan scanner du (og retter) korrupte systemfiler i Windows
- Dit Windows installationsmedie . Det er usandsynligt, at du blot kan kopiere en DLL-fil fra dit installationsmedie, men du har en hurtig mulighed for at prøve, før du gør noget så drastisk som at genindføre Windows. Du kan brug Windows Resource Protection-værktøjet (ofte kaldet systemfilkontrolleren eller SFC), som scanner efter og retter korrupte eller manglende systemfiler i Windows. Du skal have dit installationsmedie praktisk, når du kører værktøjet, bare hvis det er nødvendigt at kopiere en fil derfra. (Hvis du ikke har en installationsdisk, kan du download en her .)
- Microsoft .NET Framework-pakkerne . Flere versioner af .NET installeres automatisk sammen med Windows, og mange apps installerer også filer fra disse pakker. Du kan læse vores artikel om .NET framework , som også har nogle råd til at finde og reparere tilknyttede problemer.
- Forskellige Microsoft Visual C ++ -distribuerbare pakker . Afhængigt af de apps, du bruger, kan du have flere versioner af C ++ Redistributable installeret på din pc. Det kan undertiden være svært at indsnævre, hvilken der er synderen, men et godt sted at starte er vores artikel om C ++ omfordelbare produkter , som også indeholder flere fejlfindingstrin og links, hvor du kan downloade de mest opdaterede versioner direkte fra Microsoft.
- Den app, som DLL kom med . Hvis DLL blev installeret sammen med en app i stedet for at være en del af en separat pakke, er dit bedste valg bare at geninstallere appen. Nogle apps giver dig mulighed for at udføre en reparation i stedet for en fuld geninstallation. Begge muligheder skal fungere, da en reparation typisk ser efter manglende filer i installationsmapperne.
Hvis alt dette mislykkes, kan du muligvis kontakte app-leverandøren og anmode om en kopi af en individuel DLL-fil. Nogle virksomheder er åbne for denne anmodning; nogle er det ikke. Hvis du løber ind i et firma, der ikke leverer individuelle filer, kan de i det mindste muligvis tilbyde andre forslag til løsning af dit problem.