Kas ir DLL faili un kāpēc manā datorā trūkst?
Kad saņemat kļūdu, sakot, ka Windows nevar atrast konkrētu DLL failu, tas var būt šausmīgi vilinoši lejupielādēt failu no vienas no daudzajām DLL vietnēm. Lūk, kāpēc jums nevajadzētu.
Kas ir DLL?
Pirms mēs sākam, kāpēc nevajadzētu lejupielādēt Dynamic Link Library (DLL) failus no interneta, vispirms apskatīsim, kādi DLL faili ir. DLL fails ir bibliotēka, kas satur kodu un datu kopumu konkrētas darbības veikšanai sistēmā Windows. Pēc tam lietotnes var pieprasīt šos DLL failus, kad tiem ir nepieciešama šī darbība. DLL faili ir daudz, piemēram, izpildāmie (EXE) faili, izņemot to, ka DLL failus nevar tieši izpildīt sistēmā Windows. Citiem vārdiem sakot, jūs nevarat dubultklikšķināt uz DLL faila, lai to palaistu tāpat kā EXE failu. Tā vietā DLL faili ir veidoti tā, lai tos varētu izmantot citas lietotnes. Faktiski, tās ir veidotas tā, lai tās varētu uzreiz izmantot vairākas lietotnes. DLL nosaukuma “saite” daļa arī liecina par vēl vienu svarīgu aspektu. Vairākus DLL var savienot kopā, lai, saņemot vienu DLL, vienlaikus tiek aicināti arī citi DLL.
Windows pats par sevi plaši izmanto DLL, kā ceļojums caur C: Windows sistēma32
mape var jums pateikt. Kā piemēru tam, par ko mēs runājam, aplūkosim Windows sistēmas failu “comdlg32.dll”. Šis fails, kas pazīstams kā kopīgā dialoga loga bibliotēka, satur kodu un datus, lai izveidotu daudzus kopīgos dialoglodziņus, kurus redzat Windows dialogi lietām, piemēram, failu atvēršanai, dokumentu drukāšanai utt. Instrukcijas šajā DLL rīkos visu, sākot no dialoglodziņā paredzēto ziņojumu saņemšanas un interpretēšanas, lai norādītu, kā dialoglodziņš izskatās ekrānā. Acīmredzot, vairākas lietojumprogrammas var vienlaikus zvanīt uz šo DLL, citādi jūs nevarēsiet atvērt dialoglodziņu (piemēram, zemāk) vairāk nekā vienā lietotnē vienlaicīgi.
DLL ļauj modulēt un atkārtoti izmantot kodu, kas nozīmē, ka izstrādātājiem nav jātērē laiks no nulles, lai veiktu ikdienišķas vai kopīgas funkcijas. Un, lai gan izstrādātāji izveidos savus DLL, lai tos instalētu ar savām lietotnēm, lielākā daļa DLL, ko sauc par lietojumprogrammām, faktiski ir saistīti ar Windows vai papildu pakotnēm, piemēram, Microsoft .NET Framework vai Microsoft C ++ redistributables. Otrs lielais modularizācijas koda priekšrocība šādā veidā ir tas, ka atjauninājumi ir vieglāk piemērojami katram DLL, nevis visai lietotnei, it īpaši, ja šie DLL nav nākuši no lietotnes izstrādātāja. Piemēram, ja Microsoft atjaunina noteiktus DLL .NET Framework, visas lietotnes, kas izmanto šos DLL, var nekavējoties izmantot atjaunināto drošību vai funkcionalitāti.
Lejupielādētie DLL var būt novecojuši
Tātad, ar nelielu izpratni par DLL saskaņā ar mūsu jostām, kāpēc ne lejupielādēt tos no interneta, ja kāds no jūsu sistēmas trūkst?
Visbiežāk sastopamā problēma ar lejupielādētajiem DLL ir tas, ka tie ir novecojuši. Daudzas no DLL vietnēm saņem DLL, vienkārši augšupielādējot tās no saviem vai viņu lietotāju datoriem. Iespējams, ka problēma jau ir redzama. Lielākā daļa no šīm vietnēm vienkārši vēlas jūsu datplūsmu, un pēc tam, kad ir augšupielādēts DLL, viņiem ir maz stimulu nodrošināt, ka fails tiek atjaunināts. Pievienojiet tam, ka pārdevēji parasti neatbrīvo atjauninātos DLL publiski kā atsevišķus failus, un jūs varat redzēt, ka pat vietnes, kas mēģiniet lai saglabātu failus, tie nav ļoti veiksmīgi.
Pastāv arī vēl viena problēma, ka DLL parasti tiek integrēti paketēs. Viena DLL pakotnes atjaunināšana bieži vien ir saistīta ar citu tajā pašā paketē esošo saistīto DLL atjauninājumu, kas nozīmē, ka pat tādā maz ticamā gadījumā, kad saņemat atjauninātu DLL failu, jūs nesaņemsiet saistītus failus, kuriem ir arī atjaunināts.
Lejupielādētie DLL var tikt inficēti
Lai gan mazāk izplatīta, potenciāli daudz sliktāka problēma ir tā, ka DLL, ko lejupielādējat no citiem avotiem, nevis pārdevējam, dažreiz var tikt ielādēts ar vīrusiem vai citu ļaunprātīgu programmatūru, kas var inficēt jūsu datoru. Tas jo īpaši attiecas uz vietnēm, kas nav pārāk uzmanīgas par to, kur tās saņem failus. Un tas nav tas, ka šīs vietnes iziet no sava veida, lai pastāstītu jums par saviem riskanajiem avotiem. Patiešām biedējoša daļa ir tāda, ka, lejupielādējot inficētu DLL failu, jūs riskējat ar DLL failiem, kas dod dziļāku piekļuvi nekā parastais inficētais fails..
Labā ziņa šeit ir tāda, ka laba, reāllaika antivīrusu lietotne parasti var atklāt šos inficētos DLL failus, pirms tie tiek faktiski saglabāti jūsu sistēmā un liedz viņiem darīt nekādus bojājumus. Tomēr jāatceras, ka pat lieliska antivīrusu programma, iespējams, nenodrošina jums perfektu aizsardzību. Ja jūs ieradīsieties, lejupielādējot riskantus failus, iespējams, kaut kādā brīdī jūs nonāksiet pie jums. Vislabāk ir vienkārši izvairīties no šīm DLL vietnēm.
Viņi visticamāk neatrisinās jūsu problēmu
Lai gan ir iespējams, ka tikai viens DLL fails jūsu datorā ir bojāts vai izdzēsts, tas ir vairāk iespējams, ka arī citi DLL vai saistītie lietojumprogrammu faili ir bojāti vai trūkst. Iemesls, kāpēc jūs saņemat kļūdu par kādu konkrētu failu, ir tas, ka tā ir pirmā kļūda, ko lietojumprogrammā radās pirms crashing, un jums vienkārši nav paziņots par pārējo. Tas var būt taisnība neatkarīgi no problēmas cēloņa.
Kāpēc DLL varētu pazust vai ir bojāti? Iespējams, ka cita nevēlamā lietotne vai atjauninājums mēģināja aizstāt failu un neizdevās, vai aizstāja to ar novecojušu kopiju. Tā var būt kļūda jūsu galvenās lietotnes instalācijā vai tādā paketē kā .NET. Iespējams, ka jūsu cietajā diskā ir arī citas problēmas, piemēram, sliktas nozares, kas neļauj failam pareizi ielādēt.
Kā es varu noteikt manu DLL kļūdu?
Vienīgais veids, kā nodrošināt stabilu, mūsdienīgu un tīru DLL, ir iegūt to caur avotu, no kura tas ir radies. Parasti šis avots būs:
- Jūsu Windows instalācijas datu nesējs. Tas ir maz ticams, ka jūs varēsiet vienkārši kopēt DLL failu no instalācijas datu nesēja, bet jums ir ātra iespēja izmēģināt, pirms kaut ko tik drastu kā Windows atjaunošanu. Varat izmantot Windows resursu aizsardzības rīku (ko bieži dēvē par sistēmas failu pārbaudītāju vai SFC), kas meklēs un novērš bojātus vai trūkstošus sistēmas failus sistēmā Windows. Lai palaistu rīku, jums vajadzētu būt ērtiem instalācijas medijiem, ja vien tam ir nepieciešams kopēt failu no turienes. (Ja jums nav instalācijas diska, varat to lejupielādēt šeit.)
- Microsoft .NET Framework paketes. Vairākas .NET versijas tiek automātiski instalētas kopā ar Windows, un daudzas lietotnes arī instalē failus arī no šīm paketēm. Jūs varat izlasīt mūsu rakstu par .NET sistēmu, kurai ir arī daži padomi, kā atrast un labot saistītās problēmas.
- Dažādas Microsoft Visual C ++ pārdalāmas paketes. Atkarībā no lietotajām lietotnēm datorā var būt instalētas vairākas C ++ redistributable versijas. Dažreiz var būt grūti sašaurināt, kurš no tiem ir vainīgs, bet laba vieta, kur sākt, ir mūsu raksts par C ++ Redistributables, kurā ir arī vairākas problēmu novēršanas darbības un saites, kur var lejupielādēt visjaunākās versijas tieši no Microsoft.
- Lietojumprogramma, ar kuru DLL bija. Ja DLL ir instalēts kopā ar lietotni, nevis ir daļa no atsevišķas paketes, vislabāk ir tikai atkārtoti instalēt lietotni. Dažas lietotnes ļauj veikt remontu pilnas atkārtotas instalēšanas vietā. Katrai opcijai ir jādarbojas, jo remonts parasti meklē trūkstošos failus instalācijas mapēs.
Ja viss neizdodas, iespējams, varēsiet sazināties ar lietotnes pārdevēju un pieprasīt atsevišķa DLL faila kopiju. Daži uzņēmumi ir atvērti šim pieprasījumam; daži nav. Ja jūs nonākat uzņēmumā, kas nesniegs atsevišķus failus, viņi vismaz varēs piedāvāt citus ieteikumus jūsu problēmas risināšanai.