7Aug

Hvorfor skal du ikke downloade DLL-filer fra internettet

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-steder derude. Her skal du ikke.

Hvad er DLL'er?

Før vi begynder på hvorfor du ikke skal downloade Dynamic Link Library( DLL) filer fra internettet, lad os først se på hvilke DLL-filer der 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 udførte aktivitet. DLL-filer er meget som 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 indkaldt af andre apps. Faktisk er de designet til at blive indkaldt af flere apps på én gang."Link" -delen af ​​DLL-navnet foreslår også et andet vigtigt aspekt. Flere DLL'er kan knyttes sammen, så når en DLL kaldes, kaldes også en række andre DLL'er samtidig.

Windows selv gør meget brug af DLL'er, da en tur gennem mappen C: \ Windows \ System32 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 fælles dialogbokse, du ser iWindows-dialoger til ting som f.eks. Åbning af filer, udskrivning af dokumenter osv. Instruktionerne i denne DLL håndterer alt fra modtagelse og tolkning af meddelelser, der er beregnet til dialogboksen, for at angive, hvordan dialogboksen ser ud på skærmen. Selvfølgelig kan flere apps kalde på denne DLL på samme tid, ellers ville du ikke kunne åbne en dialogboks( som den nedenfor) i mere end en app ad gangen.

DLL'er gør det muligt for moduler at blive modulariseret og genbrugt, hvilket betyder, at udviklere ikke skal bruge tid til at skrive kode fra bunden til at udføre dagligdags eller fælles funktioner. Og selvom udviklere vil oprette deres egne DLL'er til at installere med deres apps, er langt de fleste DLL'er, der kaldes af apps, faktisk pakket sammen med Windows eller med ekstra pakker, som Microsoft. NET Framework eller Microsoft C ++ Redistributables. Den anden store fordel ved modulariseringskoden på denne måde er, at opdateringer er lettere at anvende på hver DLL end til en hel app, især når disse DLL'er ikke kom fra udvikleren af ​​appen. Når Microsoft for eksempel opdaterer visse DLL'er i. NET Framework, kan alle apps, der bruger disse DLL'er, straks udnytte den opdaterede sikkerhed eller funktionalitet.

RELATEREDE ARTIKLER
Hvad er Microsoft. NET Framework, og hvorfor er det installeret på min pc?
Hvorfor er der så mange "Microsoft Visual C + + Redistributables" installeret på min pc?

Downloadede DLL'er kan være forældet

Så hvorfor ikke download dem fra internettet, når en mangler fra dit system, med en lille forståelse af DLL'er under vores bælter?

Det mest almindelige problem, du vil løbe ind i med downloadede DLL'er, er, at de er forældede. Mange af de DLLs websteder derude få deres DLLs ved blot at uploade dem fra deres egne eller deres users'-computere. Du kan sikkert se problemet allerede. De fleste af disse websteder vil bare have din trafik, og når en DLL er uploadet, har de ringe incitament til at sikre, at filen holdes ajour. 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 forsøger for at holde filer ajourførte, vil sandsynligvis ikke være meget succesfulde.

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 samme pakke, hvilket betyder, at selv i den usandsynlige hændelse du får en opdateret DLL-fil, får du ikke relaterede filer, der også harblevet 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 sælgeren, kan i nogle tilfælde læses med virus eller anden malware, som kan inficere din pc. Dette gælder især på websteder, der ikke er for forsigtige, hvor de får deres filer. Og det er ikke som, at disse websteder vil gå ud af deres måde at fortælle om deres risikable kilder. Den virkelig skræmmende del er, at hvis du downloader en inficeret DLL-fil, risikerer du - i sagens natur at DLL-filer - hvilket giver filen en dybere adgang end en regelmæssigt inficeret fil kan få.

Den gode nyhed her er, at en god antivirusprogram i realtid normalt kan 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 gør en vane med at downloade risikofyldte filer, vil det sandsynligvis komme i kontakt med dig på et eller andet tidspunkt. Det er bedst at bare undgå disse DLL-websteder.

De vil sandsynligvis ikke løse dit problem Anyway

Selvom det kun er muligt at kun en enkelt DLL-fil på din pc er beskadiget eller slettet, er det mere sandsynligt, at andre DLL'er eller relaterede app-filer 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 opdagede, før de styrtede, og du bliver simpelthen ikke underrettet om resten. Dette kan være sandt uanset årsagen til problemet.

Hvorfor kan DLL'er forsvinde eller blive beskadiget? Det kan være, at en anden fejlagtig app eller opdatering forsøgte at erstatte filen og mislykkedes, eller erstattet 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 andre problemlignende dårlige sektorer på din harddisk - der forhindrer filen i at indlæse korrekt.

Hvordan kan jeg rette min DLL-fejl?

Den eneste måde at sikre, at du får en stabil, opdateret og ren DLL er at få det gennem den kilde, hvorfra den stammer fra. Denne kilde vil typisk være:

  • Dit Windows-installationsmedie .Det er usandsynligt, at du simpelthen 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 geninstallere Windows. Du kan bruge værktøjet Windows Resource Protection( ofte kaldet systemfil checker eller SFC), som vil scanne efter og reparere beskadigede eller manglende systemfiler i Windows. Du skal have dit installationsmedie handy, 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 downloade en her.)
  • Microsoft. NET Framework pakker .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-rammen, som også indeholder nogle råd til at finde og reparere tilknyttede problemer.
  • Diverse Microsoft Visual C ++-omfordelbare pakker .Afhængigt af de apps, du bruger, kan du have flere versioner af C ++ Redistributable installeret på din pc. Det kan nogle gange være svært at indsnævre, hvilken der er synderen, men et godt sted at starte er vores artikel om C ++ Redistributables, som også indeholder flere fejlfindingstrin og links, hvor du kan downloade de nyeste versioner lige fra Microsoft.
  • Den app, at DLL'en kom med .Hvis DLL'en blev installeret sammen med en app i stedet for at være en del af en separat pakke, er dit bedste bud bare at geninstallere appen. Nogle apps giver dig mulighed for at udføre en reparation i stedet for en fuld geninstallation. Enhver mulighed skal fungere, da en reparation typisk søger efter manglende filer i installationsmapperne.

Hvis alt der fejler, kan du muligvis kontakte appleverandøren og anmode om en kopi af en individuel DLL-fil. Nogle virksomheder er åbne for denne anmodning;nogle er 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.