7Aug

Varför ska du inte hämta DLL-filer från Internet

När du får ett fel som säger att Windows inte kunde hitta en viss DLL-fil, kan det vara väldigt frestande att ladda ner filen från en av de många DLL-sidorna där ute. Det är därför du borde inte.

Vad är DLLs?

Innan vi börjar om varför du inte ska ladda ner Dynamic Link Library( DLL) filer från Internet, låt oss först titta på vilka DLL-filer som är. En DLL-fil är ett bibliotek som innehåller en uppsättning kod och data för att utföra en viss aktivitet i Windows. Apps kan sedan ringa upp de DLL-filerna när de behöver den aktiviteten som utförts. DLL-filer är mycket som exekverbara( EXE) -filer, förutom att DLL-filer inte kan exekveras direkt i Windows. Med andra ord kan du inte dubbelklicka på en DLL-fil för att köra den på samma sätt som en EXE-fil. Istället är DLL-filer utformade för att bli uppringda av andra appar. Faktum är att de är utformade att bli uppmanade av flera appar samtidigt. Den "länk" delen av DLL-namnet föreslår också en annan viktig aspekt. Flera DLL kan kopplas samman så att när en DLL heter kallas också ett antal andra DLL-filer samtidigt.

Windows använder sig extensivt av DLL-filer, eftersom en tur genom mappen C: \ Windows \ System32 kan berätta. Som ett exempel på vad vi pratar om, låt oss överväga Windows-systemfilen "comdlg32.dll". Den här filen, även kallad Common Dialog Box Library, innehåller kod och data för att bygga många av de gemensamma dialogrutorna du ser iWindows-dialogrutor för saker som att öppna filer, skriva ut dokument, och så vidare. Anvisningarna i denna DLL hanterar allt från att ta emot och tolka meddelanden som är avsedda för dialogrutan för att ange hur dialogrutan ser ut på skärmen. Det är uppenbart att flera appar kan ringa på den här DLL samtidigt, annars skulle du inte kunna öppna en dialogruta( som den nedan) i mer än en app åt gången.

DLL: er gör att kod kan moduleras och återanvändas, vilket innebär att utvecklare inte behöver spendera tid på att skriva kod från början för att utföra vardagliga eller vanliga funktioner. Och även om utvecklare kommer att skapa egna DLL-filer för att installera med sina appar, är de flesta DLL-filer som heter Apper faktiskt bundna med Windows eller med extra paket, som Microsoft. NET Framework eller Microsoft C ++ Redistributables. Den andra stora fördelen med modulariseringskoden på detta sätt är att uppdateringar är enklare att tillämpa på varje DLL än för en hel app, särskilt när de DLL-filer inte kom från utvecklaren av appen. När Microsoft till exempel uppdaterar vissa DLL-filer i. NET Framework, kan alla appar som använder dessa DLL-filer omedelbart dra nytta av den uppdaterade säkerheten eller funktionaliteten.

RELATERADE ARTIKLAR
Vad är Microsoft. NET Framework, och varför installeras den på min dator?
Varför finns det så många "Microsoft Visual C ++ Redistributables" installerade på min dator?

Downloaded DLLs kan vara föråldrade

Så, med lite förståelse av DLLs under våra bälten, varför inte ladda ner dem från Internet när en saknas från ditt system?

Det vanligaste problemet som du stöter på med nedladdade DLL-filer är att de är föråldrade. Många av DLLs-sidorna där ute får sina DLL-filer genom att bara ladda upp dem från sina egna eller sina användares datorer. Du kan förmodligen se problemet redan. De flesta av dessa webbplatser vill bara ha din trafik, och när en DLL har laddats upp har de lite incitament att se till att filen hålls uppdaterad. Lägg till att säljarna normalt inte släpper uppdaterade DLL-filer till allmänheten som enskilda filer, och du kan se att även webbplatser som försöker för att hålla filer uppdaterade kommer inte troligen att vara mycket framgångsrika.

Det finns också det ytterligare problemet att DLLs vanligtvis integreras i paket. En uppdatering till en DLL i ett paket följer ofta med uppdateringar till andra relaterade DLL i samma paket, vilket innebär att även om du inte får en uppdaterad DLL-fil, kommer du inte heller att få relaterade filer som också haruppdaterats.

Nedladdade DLL kan infekteras

Även om det är mindre vanligt är ett potentiellt mycket sämre problem att DLL: er du hämtar från andra källor än att säljaren ibland kan laddas med virus eller annan skadlig kod som kan infektera din dator. Detta gäller särskilt på webbplatser som inte är för försiktiga om var de får sina filer. Och det är inte som att dessa webbplatser kommer att gå ut ur deras sätt att berätta om sina riskabla källor. Den väldigt läskiga delen är att om du laddar ner en infekterad DLL-fil riskerar du - av själva DLL-filens natur - att ge filen en djupare tillgång än en vanlig infekterad fil kan få.

Den goda nyheten här är att en bra antivirusapp i realtid normalt kan upptäcka dessa infekterade DLL-filer innan de faktiskt sparas i ditt system och förhindrar att de gör skada.Ändå måste du komma ihåg att även ett bra antivirusprogram kanske inte ger dig perfekt skydd. Om du gör vana med att ladda ner riskfyllda filer, kommer det sannolikt att komma ikapp med dig vid någon tidpunkt. Det är bäst att bara undvika dessa DLL-webbplatser.

De kommer troligen inte att lösa ditt problem ändå

Även om det är möjligt att endast en enda DLL-fil på din dator har skadats eller tagits bort, är det mer troligt att andra DLL eller relaterade appfiler också är korrupta eller saknade. Anledningen till att du får ett fel om en viss fil är att det är det första felet en app stött på innan den kraschar och du helt enkelt inte får meddelas av resten. Detta kan vara sant oavsett orsaken till problemet.

Varför kan DLL: er saknas eller skadas? Det kan hända att en annan felaktig app eller uppdatering försökte ersätta filen och misslyckades, eller ersätta den med en föråldrad kopia. Det kan vara ett fel vid installationen av din huvudapp eller i ett paket som. NET.Det kan till och med vara att du har andra problem-liknande dåliga sektorer på din hårddisk - som förhindrar att filen laddas korrekt.

Hur kan jag fixa mitt DLL-fel?

Det enda sättet att säkerställa att du får en stabil, uppdaterad och ren DLL är att få den genom källan från vilken den härstammade. Vanligtvis kommer källan att vara:

  • Din Windows installationsmedia .Det är osannolikt att du enkelt kan kopiera en DLL-fil från installationsmediet, men du har ett snabbt alternativ att försöka innan du gör något så drastiskt som att återställa Windows. Du kan använda verktyget Windows Resource Protection( ofta kallat systemfilkontrollen eller SFC), som kommer att söka efter och fixa korrupta eller saknade systemfiler i Windows. Du bör ha din installationsmedia handy när du kör verktyget, bara om det behövs att kopiera en fil därifrån.(Om du inte har en installationsskiva kan du hämta en här.)
  • Microsoft. NET Framework-paket .Flera versioner av. NET installeras automatiskt tillsammans med Windows, och många appar installerar också filer från dessa paket också.Du kan läsa vår artikel om. NET-ramverket, som också innehåller några tips för att hitta och reparera problem som hör samman.
  • Olika Microsoft Visual C + + -fördelningsbara paket .Beroende på vilka appar du använder kan du ha flera versioner av C ++ Redistributable installerade på datorn. Det kan ibland vara svårt att begränsa vilken som är den skyldige, men ett bra ställe att börja är vår artikel om C ++ Redistributables, som också innehåller flera felsökningssteg och länkar där du kan hämta de senaste versionen direkt från Microsoft.
  • Appen som DLL kom med .Om DLL-enheten installerades tillsammans med en app istället för att vara en del av ett separat paket, är din bästa satsning bara att installera om appen. Vissa appar låter dig göra en reparation istället för en fullständig ominstallation. Endera alternativet bör fungera, eftersom en reparation vanligtvis söker efter saknade filer i installationsmapparna.

Om allt som misslyckas kan du kontakta appleverantören och begära en kopia av en enskild DLL-fil. Vissa företag är öppna för denna begäran;vissa är inteOm du går in i ett företag som inte tillhandahåller enskilda filer, kan de åtminstone kunna erbjuda andra förslag för att lösa ditt problem.