Ce sunt fișierele DLL și de ce lipsește unul din calculatorul meu?
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 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 Bibliotecă de dialog de dialog comun, 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 banale sau comune. Și, deși dezvoltatorii își vor crea propriile DLL-uri pentru a 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 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 învechite. 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ă vânzătorii nu eliberează în mod obișnuit fișierele DLL actualizate ca fișiere individuale și puteți vedea că chiar și site-urile care încerca pentru a păstra dosarele la zi nu sunt susceptibile de a fi foarte reușite.
Există, de asemenea, o problemă 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ă potențial mult mai proastă este 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 să vă infecteze PC-ul. Acest lucru este valabil în special în cazul site-urilor care nu sunt prea atenți cu privire la locul în care își primesc fișierele. Și nu este ca acele site-uri să nu iasă din calea lor să-ți spună 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 accesul mai profund la dosar decât ar putea obține un fișier obișnuit infectat.
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 doar 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 corupt 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 obțineți o eroare cu privire la 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 vină în instalarea aplicației dvs. principale sau într-un pachet cum ar fi .NET. S-ar putea chiar să aveți și alte probleme, cum ar fi sectoarele necorespunzătoare 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. De obicei, acea sursă va fi:
- Mediul de instalare Windows. Este puțin probabil să puteți copia pur și simplu un fișier DLL din mediul de instalare, dar aveți o opțiune rapidă de a încerca înainte de a face ceva la fel de drastic ca reintalarea Windows. Aveți posibilitatea să utilizați instrumentul Windows Resource Protection (deseori denumit checker de fișiere de sistem sau SFC), care va scana și remedia fișierele 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, puteți descărca unul 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 redistribuite Microsoft Visual C ++. În funcție de aplicațiile pe care le utilizați, este posibil să aveți instalate mai multe versiuni ale programului 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 de depanare și link-uri, 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 dintr-un 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, cel puțin ar putea fi capabil să ofere alte sugestii pentru rezolvarea problemei dvs..