If-Koubou

Ce sunt fișierele DLL și de ce lipsește unul din calculatorul meu?

Ce sunt fișierele DLL și de ce lipsește unul din calculatorul meu? (Cum să)

Când primiți o eroare spunând că Windows nu a putut găsi un anumit fișier DLL, poate fi foarte tentant să descărcați fișierul de pe unul din multe site-uri DLL acolo. Iată de ce nu ar trebui.

Ce sunt DLL-urile?

Înainte de a începe de ce nu ar trebui să descărcați fișiere Dynamic Link Library (DLL) de pe Internet, să aruncăm o privire la fișierele DLL. Un fișier DLL este o bibliotecă care conține un set de cod și date pentru efectuarea unei anumite activități în Windows. Aplicațiile pot apela apoi aceste fișiere DLL atunci când au nevoie de acea activitate efectuată. Fișierele DLL sunt foarte asemănătoare cu fișierele executabile (EXE), cu excepția faptului că fișierele DLL nu pot fi executate direct în Windows. Cu alte cuvinte, nu puteți face dublu clic pe un fișier DLL pentru al rula în același mod ca un fișier EXE. În schimb, fișierele DLL sunt create pentru a fi solicitate de alte aplicații. De fapt, ele sunt concepute pentru a fi solicitate de mai multe aplicații simultan. Partea "legătură" a numelui DLL sugerează de asemenea un alt aspect important. Multiple DLL-uri pot fi conectate împreună, astfel încât atunci când este apelat un DLL, un număr de alte DLL-uri sunt, de asemenea, numite în același timp.

Windows în sine folosește extensiv DLL - urile, ca un tur prin C: \ Windows \ System32 dosarul vă poate spune. Ca un exemplu despre ceea ce vorbim, să luăm în considerare fișierul de sistem Windows "comdlg32.dll". Acest fișier, altfel cunoscut sub numele de Biblioteca de dialog obișnuit, conține cod și date pentru construirea multor casete de dialog comune pe care le vedeți Ferestre-dialoguri pentru lucruri cum ar fi deschiderea de fișiere, imprimarea de documente, și așa mai departe. Instrucțiunile din acest DLL se ocupă de toate de la primirea și interpretarea mesajelor destinate casetei de dialog pentru a specifica modul în care arată caseta de dialog pe ecran. Evident, mai multe aplicații pot apela acest DLL în același timp, altfel nu veți putea deschide o casetă de dialog (ca cea de mai jos) în mai multe aplicații simultan.

DLL-urile permit modificarea și reutilizarea codului, ceea ce înseamnă că dezvoltatorii nu trebuie să-și petreacă timpul scriind codul de la zero pentru a îndeplini funcții luminoase sau comune. Și, deși dezvoltatorii își vor crea propriile DLL-uri pentru a le instala cu aplicațiile lor, marea majoritate a DLL-urilor numite de aplicații sunt de fapt asociate cu Windows sau cu pachete suplimentare, cum ar fi Microsoft .NET Framework sau Microsoft C ++ Redistributables. Celălalt avantaj major al modularizării codului în acest fel este faptul că actualizările sunt mai ușor de aplicat pentru fiecare DLL decât pentru o aplicație întreagă - mai ales atunci când aceste DLL-uri nu provin de la dezvoltatorul aplicației. De exemplu, atunci când Microsoft actualizează anumite DLL-uri în cadrul .NET Framework, toate aplicațiile care utilizează aceste DLL-uri pot profita imediat de securitatea sau funcționalitatea actualizată.

DLL-urile descărcate pot fi învechite

Deci, cu o mică înțelegere a DLL-urilor sub centurile noastre, de ce să nu le descărcați de pe Internet când le lipsește sistemul?

Cea mai obișnuită problemă pe care o veți întâlni cu DLL-urile descărcate este că acestea sunt depășite. Multe dintre site-urile DLL-uri de acolo își iau DLL-urile doar prin încărcarea lor de pe calculatoarele proprii sau ale utilizatorilor lor. Probabil că puteți vedea problema deja. Cele mai multe dintre aceste site-uri doresc doar traficul dvs. și, odată ce un DLL este încărcat, ei au puține stimulente pentru a se asigura că fișierul este actualizat. Adăugați la aceasta faptul că furnizorii nu eliberează în mod obișnuit DLL-uri actualizate publicului ca fișiere individuale și puteți vedea că chiar și site-urile careîncerca pentru a ține fișierele la zi nu sunt susceptibile de a fi foarte reușite.

Există, de asemenea, problema suplimentară că DLL-urile sunt de obicei integrate în pachete. O actualizare a unui DLL într-un pachet este adesea însoțită de actualizări la alte DLL-uri similare din același pachet, ceea ce înseamnă că chiar și în cazul puțin probabil că veți obține un fișier DLL actualizat, nu veți primi fișiere înrudite care au, de asemenea, fost actualizat.

DLL-urile descărcate pot fi infectate

Deși mai puțin obișnuit, o problemă cu mult mai proastă este faptul că DLL-urile pe care le descărcați din alte surse decât furnizorul uneori pot fi încărcate cu viruși sau alte programe malware care pot infecta calculatorul. Acest lucru este valabil în special în cazul site-urilor care nu sunt prea atenți în legătură cu locul unde își primesc fișierele. Și nu este ca acele site-uri să-și schimbe drumul pentru a-ți spune despre sursele lor riscante. Partea cu adevărat înfricoșătoare este că, dacă descărcați un fișier DLL infectat, riscați - prin însăși natura fișierelor DLL - oferind acelui fișier acces mai profund decât un fișier infectat obișnuit.

Vestea bună este că o aplicație antivirus bună, în timp real, poate detecta, de obicei, aceste fișiere DLL infectate înainte ca acestea să fie salvate în sistemul dvs. și să le împiedice să facă vreo pagubă. Totuși, trebuie să vă amintiți că chiar și un program antivirus excelent nu vă poate oferi o protecție perfectă. Dacă vă faceți obiceiul de a descărca fișiere riscante, este probabil să vă prindeți la un moment dat. Cel mai bine este să evitați aceste site-uri DLL.

Probabil că nu vă vor rezolva problema oricum

Deși este posibil ca numai un singur fișier DLL de pe PC să se fi deteriorat sau să fie șters, este mai probabil ca alte DLL-uri sau fișiere de aplicații similare să fie corupte sau să lipsească. Motivul pentru care primiți o eroare despre un anumit fișier este că este prima eroare pe care o întâlniți o aplicație înainte de a se prăbuși și pur și simplu nu sunteți informat despre restul. Acest lucru poate fi adevărat indiferent de cauza problemei.

De ce s-ar putea ca DLL-urile să dispară sau să fie corupte? Este posibil ca o altă aplicație sau actualizare errant să încerce să înlocuiască fișierul și să nu reușească sau să o înlocuiască cu o copie neactualizată. Este posibil să fie o eroare în instalarea aplicației dvs. principale sau într-un pachet de tip .NET. S-ar putea chiar să aveți și alte probleme, cum ar fi sectoarele greșite de pe hard disk, care împiedică încărcarea corectă a fișierului.

Cum pot remedia eroarea mea DLL?

Singura modalitate de a vă asigura că obțineți un DLL stabil, actualizat și curat este să îl obțineți prin sursa din care a provenit. În mod obișnuit, acea sursă va fi:

  • Mediul de instalare Windows. Este puțin probabil să puteți copia un fișier DLL din mediul dvs. de instalare, dar aveți o opțiune rapidă de a încerca înainte de a face ceva la fel de drastic ca reintalarea Windows. Puteți utiliza instrumentul Windows Resource Protection (numit adesea numit verificator de fișiere de sistem sau SFC), care va scana și remedia fișiere de sistem corupte sau lipsă din Windows. Ar trebui să aveți mediul de instalare la îndemână atunci când rulați instrumentul, doar în cazul în care trebuie să copiați un fișier de acolo. (Dacă nu aveți un disc de instalare, îl puteți descărca aici.)
  • Pachetele Microsoft .NET Framework. Mai multe versiuni de .NET sunt instalate automat împreună cu Windows, iar multe aplicații instalează de asemenea fișiere din acele pachete. Puteți citi articolul nostru despre cadrul .NET, care are și câteva sfaturi pentru găsirea și repararea problemelor asociate.
  • Diverse pachete Microsoft Visual C ++ redistribuibile. În funcție de aplicațiile pe care le utilizați, este posibil să aveți instalate mai multe versiuni de C ++ Redistributable pe PC. Uneori este dificil să restrângeți cine este vinovatul, dar un loc bun pentru a începe este articolul nostru despre C ++ Redistributables, care conține, de asemenea, mai mulți pași și linkuri de depanare, unde puteți descărca cele mai actualizate versiuni direct de la Microsoft.
  • Aplicația cu care a venit DLL-ul. Dacă DLL-ul a fost instalat împreună cu o aplicație, în loc să fie parte a unui pachet separat, cel mai bun pariu este doar reinstalarea aplicației. Unele aplicații vă permit să efectuați o reparație în loc de o reinstalare completă. Oricare dintre opțiuni ar trebui să funcționeze, deoarece o reparație caută, de obicei, fișierele lipsă din folderele de instalare.

Dacă tot ce nu reușește, este posibil să contactați distribuitorul de aplicații și să solicitați o copie a unui fișier DLL individual. Unele companii sunt deschise acestei solicitări; unele nu sunt. Dacă vă întâlniți într-o companie care nu va furniza fișiere individuale, ei cel puțin ar putea să ofere alte sugestii pentru rezolvarea problemei.