7Aug
Kad dođete do pogreške u kazivanju da Windows ne može pronaći određenu DLL datoteku, može biti užasno primamljivo preuzeti datoteku s jedne od mnogih DLL web mjesta vani. Evo zašto ne biste trebali.
Što su DLL-ovi?
Prije nego što počnemo zašto ne biste preuzeli datoteke DLL( Dynamic Link Library) s interneta, prvo ćemo pogledati koje su DLL datoteke. DLL datoteka je knjižnica koja sadrži skup koda i podataka za obavljanje određene aktivnosti u sustavu Windows. Aplikacije tada mogu pozvati one DLL datoteke kada im je potrebna takva aktivnost. DLL datoteke su puno poput izvršnih( EXE) datoteka, osim što se DLL datoteke ne mogu izravno izvršiti u sustavu Windows. Drugim riječima, ne možete dvaput kliknuti datoteku DLL da biste ga pokrenuli na isti način kao i EXE datoteka. Umjesto toga, DLL datoteke osmišljene su za pozivanje drugih aplikacija. Zapravo, osmišljeni su da ih više odjednom pozovu više aplikacija. Dio "veze" naziva DLL također sugerira još jedan važan aspekt. Višestruki DLL-ovi mogu se povezati tako da kada se poziva jedan DLL, istodobno se poziva i niz drugih DLL-ova.
Sam Windows koristi veliku upotrebu DLL-ova, kao što to može reći kroz mapu C: \ Windows \ System32.Kao primjer onoga o čemu govorimo, razmotrimo datoteku sustava Windows "comdlg32.dll". Ova datoteka, inače poznata kao zajednička biblioteka dijaloškog okvira, sadrži kod i podatke za izgradnju mnogih uobičajenih dijaloških okvira uWindows-dijaloge za stvari kao što su otvaranje datoteka, ispis dokumenata i tako dalje. Upute u ovom DLL-u rješavaju sve od primanja i tumačenja poruka namijenjenih dijaloškom okviru kako bi se odredilo kako dijaloški okvir izgleda na vašem zaslonu. Očito, više aplikacija može istovremeno pozvati DLL, inače ne biste mogli otvoriti dijaloški okvir( poput onog u nastavku) u više od jedne aplikacije odjednom. DLL-ovi
omogućuju modularizaciju i ponovnu upotrebu koda, što znači da programeri ne moraju trošiti vrijeme na pisanje koda od nule da bi obavili svjetovne ili zajedničke funkcije. I iako će programeri izraditi vlastite DLL-ove za instalaciju pomoću svojih aplikacija, velika većina DLL-ova koje se zovu aplikacijama zapravo su u paketu sa sustavom Windows ili s dodatnim paketima, kao što su Microsoft. NET Framework ili Microsoft C ++ Redistributables. Druga velika prednost modulariziranja kodova na taj način jest da se ažuriranja lakše primjenjuju na svaki DLL, a ne na cijelu aplikaciju - pogotovo kada ti DLL-ovi nisu dolazili od razvojnog programera aplikacije. Na primjer, kada Microsoft ažurira određene DLL-ove u svom. NET Okviru, sve aplikacije koje koriste te DLL-ove mogu odmah iskoristiti ažuriranu sigurnost ili funkcionalnost.
DLL-ovi preuzeti mogu biti zastarjeli
Dakle, s malo razumijevanja DLL-ova pod našim pojasevima, zašto ih ne preuzimati s interneta kad nestane iz vašeg sustava?
Najčešći problem s kojim ćete se pokrenuti s preuzetim DLL-om jest da su zastarjeli. Mnoge od DLLs stranica tamo dobiti svoje DLLs samo ih upload iz vlastite - ili njihovih korisnika računala. Vjerojatno ste već vidjeli problem. Većina tih web lokacija samo želi vaš promet, a nakon što se prenesu DLL, nemaju poticaja da se datoteka ažurira. Dodajte tome da dobavljači obično ne objavljuju ažurirane DLL-ove javnosti kao pojedinačne datoteke i možete vidjeti da čak i web stranice koje pokušaju ažurirati datoteke vjerojatno neće biti vrlo uspješne.
Postoji i dodatni problem da su DLL obično integrirani u pakete. Ažuriranje jednog DLL-a u paketu često prati ažuriranja drugih DLL-ova u istom paketu, što znači da čak i ako vjerojatno ne dobijete ažuriranu DLL datoteku, nećete dobiti povezane datoteke koje također imajuje ažuriran.
DLL se može preuzeti
Iako je manje uobičajen, potencijalno mnogo lošiji problem je da DLLs koje preuzimate iz izvora koji nisu dobavljači ponekad mogu biti učitani s virusima ili drugim zlonamjernim softverom koji može zaraziti vaše računalo. To se osobito odnosi na web stranice koje nisu previše pažljive o tome gdje se nalaze njihove datoteke. I nije kao da će te web stranice otići na put da vam kažem o svojim rizičnim izvorima. Stvarno zastrašujući dio je taj da ako preuzmete zaraženu DLL datoteku, riskirate samu prirodu DLL datoteka - dajući im dublje pristup podacima od redovne zaražene datoteke.
Dobra vijest je da dobra, protuvirusna aplikacija u stvarnom vremenu obično otkriva ove zaražene DLL datoteke prije no što ih se zapravo spremaju na vaš sustav i spriječe da učine štetu. Ipak, morate zapamtiti da čak i veliki antivirusni program možda vam ne pruža savršenu zaštitu. Ako ste navikli preuzeti rizične datoteke, vjerojatno ćete u nekom trenutku nadoknaditi. Najbolje je da izbjegavate ove DLL stranice.
Vjerojatno neće riješiti vaš problem
Iako je moguće da samo jedna DLL datoteka na vašem računalu bude oštećena ili izbrisana, vjerojatnije je da su drugi DLL ili povezane datoteke aplikacija također korumpirani ili nedostaju. Razlog zbog kojeg ste dobili pogrešku o određenoj datoteci jest da je to prva pogreška koju je aplikacija naišla prije pada i jednostavno se ne obavještavate o ostatku. To može biti istina bez obzira na uzrok problema.
Zašto DLL nedostaje ili je oštećen? Može biti da je neka druga pogrešna aplikacija ili ažuriranje pokušala zamijeniti datoteku i nije uspjela ili je zamijenila zastarjelom kopijom. Možda je pogreška u instalaciji vaše glavne aplikacije ili u paketu kao što je. NET.Možda je čak i da imate problema s lošim diskom - poput onih loših sektora - koji sprječavaju ispravno učitavanje datoteke.
Kako mogu popraviti moju pogrešku DLL?
Jedini način da osigurate stabilan, ažuriran i čist DLL je da ga dobijete kroz izvor iz kojeg je nastao. Tipično, taj izvor bit će:
- Vaš Windows instalacijski medij .Malo je vjerojatno da ćete moći jednostavno kopirati DLL datoteku s instalacijskog medija, ali imate brzi izbor da isprobate prije nego što radite nešto drastično kao što je ponovna instalacija sustava Windows. Možete koristiti alat za zaštitu resursa sustava Windows( često se naziva skenerom datoteke sustava ili SFC) koji će skenirati i popraviti oštećene ili nestalne datoteke sustava u sustavu Windows. Trebali biste imati instalacijski medij pri ruci prilikom pokretanja alata, samo u slučaju da treba kopirati tu datoteku.(Ako nemate instalacijski disk, ovdje možete preuzeti jedan.)
- Microsoft. NET Framework paketi .Uz verzije sustava Windows automatski se instaliraju nekoliko inačica. NET-a, a mnoge aplikacije također instaliraju datoteke s tih paketa. Možete čitati naš članak o. NET okviru, koji također ima neke savjete za pronalaženje i popravljanje povezanih problema.
- Razni Microsoft Visual C ++ redistribucijski paketi .Ovisno o aplikacijama koje upotrebljavate, na vašem računalu možete instalirati više verzija C ++ redistributable. Ponekad je teško ograničiti tko je krivac, ali dobro je mjesto za početak našeg članka o C ++ redistributabilnim datotekama, koji također sadrži nekoliko koraka za otklanjanje poteškoća i veze na kojima možete preuzeti najnovije verzije izravno od Microsofta.
- Aplikacija koju je DLL došao s .Ako je DLL instaliran zajedno s aplikacijom umjesto da je dio zasebnog paketa, vaša je najbolja opcija da ponovno instalirate aplikaciju. Neke aplikacije omogućuju vam da izvršite popravak umjesto pune ponovne instalacije. Bilo koja opcija bi trebala funkcionirati jer popravak obično traži datoteke koje nedostaju u instalacijskim mapama.
Ako sve to ne uspije, možda ćete se moći obratiti dobavljaču aplikacije i zatražiti kopiju pojedine DLL datoteke. Neke tvrtke su otvorene za ovaj zahtjev;neki nisu. Ako se prijavite u tvrtku koja ne pruža pojedinačne datoteke, barem će možda moći ponuditi druge prijedloge za rješavanje vašeg problema.