Mis on DLL-id?
Enne alustamist, miks te ei tohiks Internetti alla laadida Dynamic Link Library (DLL) faile, vaatame esmalt DLL-failid. DLL-fail on raamatukogu, mis sisaldab teatud koodi ja andmete kogumit Windowsi konkreetse tegevuse läbiviimiseks. Rakendused saavad seejärel kutsuda need DLL-failid, kui nad seda tegevust vajavad. DLL-failid on palju käivitatavat (EXE-faili), välja arvatud see, et DLL-faile ei saa Windowsis otseselt käivitada. Teisisõnu, te ei saa DLL-faili topeltklõpsata, et seda käitada samal viisil kui EXE-faili. Selle asemel on DLL-failid mõeldud kasutamiseks teistes rakendustes. Tegelikult on need mõeldud üheaegselt mitme rakenduse poolt. DLL-i nime "link" osutab ka teisele olulisele aspektile. Mitu DLL-i saab omavahel ühendada, nii et kui ühe DLL-i nimetatakse, siis kutsutakse samaaegselt ka mitmeid teisi DLL-sid.
C:WindowsSystem32
kaust võib teile öelda. Näiteks, mida me räägime, vaatame Windowsi süsteemi faili "comdlg32.dll." See fail (muidu tuntud kui ühine dialoogiboks Raamatukogu) sisaldab koodi ja andmeid paljude tavapäraste dialoogibokside kuvamiseks, mida näete Windows-dialoogid selliste asjade jaoks nagu failide avamine, dokumentide printimine ja nii edasi. Selle DLL-i juhised käsitlevad kõike dialoogiboksis sõnumite vastuvõtmise ja tõlgendamise eest, et täpsustada, kuidas dialoogiboks ekraanil kuvatakse. Loomulikult saavad mitu rakendust sellel DLLil korraga helistada, vastasel korral ei saa te dialoogi (nagu allpool) avada korraga rohkem kui ühes rakenduses.
Allalaetud DLL-id võivad olla vananenud
Niisiis, kui vähe arutleme DLL-ide all meie vööde all, siis miks mitte alla laadida Internetist, kui üks on teie süsteemist puudu?
Kõige sagedasem probleem, millega saate alla laadida DLL-e, on see, et need on vananenud. Paljud DLL-i saidid saavad oma DLL-id, laadides need lihtsalt oma või oma kasutajate arvutisse. Ilmselt näete probleemi juba. Enamik nendest saitidest soovib lihtsalt teie liiklust ja kui DLL on üles laaditud, on neil vähe stiimuleid selle üle, et faili hoitakse ajakohasena. Lisage sellele, et tarnijad ei anna üldsusele uuendatavaid DLL-sid tavaliselt üksikfailidena ja näete, et isegi saidid, kesproovige et failide ajakohastamine ei ole tõenäoliselt väga edukas.
Samuti on veel probleem, et DLL-id integreeritakse tavaliselt pakettidesse. Paketti ühe DLL-i värskendamine kaasneb tihti sama paketi teiste sarnaste DLL-ide värskendustega, mis tähendab, et isegi ebatõenäolises olukorras saate ajakohastatud DLL-faili, ei saa sa sellega seotud faile, mis on samuti ajakohastatud.
Allalaetud DLL-id võivad olla nakatunud
Kuigi vähem levinud probleem, on potentsiaalselt palju hullem probleem, et mõnda muudest allikatest peale müüja laaditud DLL-ide võib laadida viiruste või muu pahavara abil, mis võivad teie arvutit nakatada. Eriti kehtib see saitidel, mis ei oska oma faile saata liiga ettevaatlikult. Ja see ei ole nagu need saidid lähevad välja oma viis öelda teile nende riskantseid allikaid. Tõesti hirmutav osa on see, et kui laadite nakatunud DLL-faili alla, siis võite riskida DLL-failide olemuse tõttu - andke sellele failile sügavam juurdepääs kui tavalisel nakatunud failil.
Nad ei lahenda teie probleemi igal juhul
Kuigi on võimalik, et teie arvutis on ainult üks DLL-fail on rikutud või kustutatud, on tõenäolisem, et muud DLL-failid või seotud rakenduste failid on samuti rikutud või puuduvad. Põhjus, miks te ühel konkreetsel failil ilmneb tõrge, on see esimene viga, mille rakendus enne krahhit ilmnes ja mida lihtsalt ei teavitata ülejäänud. See võib olla tõsi, olenemata probleemi põhjusest.
Miks võivad DLL-id kaotada või rikkuda? Võib juhtuda, et teine vigane rakendus või värskendus proovis faili asendada ja ebaõnnestus või asendas selle aegunud koopiaga. See võib olla teie peamise rakenduse installimisel või paketina nagu.NET. Võib juhtuda, et teie kõvakettale on veel üks probleem, näiteks halvad sektorid, mis takistavad faili laadimist õigesti.
Kuidas mu DLL-i viga parandada?
Ainus viis, kuidas tagada stabiilne, ajakohane ja puhas DLL, on selle saamine allika kaudu, kust see pärineb. Tavaliselt on see allikas:
- Teie Windowsi installimiskeskkond. On ebatõenäoline, et saate lihtsalt kopeerida DLL-faili oma installimiskandjalt, kuid sul on kiire võimalus proovida, enne kui teed midagi niisama drastiilist kui Windowsi taaskäivitamine. Võite kasutada Windowsi ressursside kaitse vahendit (sageli nimetatakse ka süsteemifailide kontrollijaks või SFC-s), mis skannib ja parandab Windowsis rikutud või puuduvaid süsteemifaile. Tööriista käitamisel peaksite olema installimiskandja jaoks kasulik, kui see on vajalik faili kopeerimiseks sealt. (Kui teil pole installiketti, saate selle siia alla laadida.)
- Microsoft.NET Framework paketid. Lisaks Windowsile on automaatselt installitud mitmed.NET-i versioonid ning paljud rakendused installivad ka failid nendest pakettidest. Võite lugeda meie artiklit. NET raamistiku kohta, millel on ka nõu nendega seotud probleemide leidmiseks ja parandamiseks.
- Erinevad Microsofti Visual C + + Redistributable pakendid. Sõltuvalt teie kasutatavatest rakendustest võib arvutisse installitud C ++ Redistributable'i mitu versiooni. Mõnikord võib olla keeruline piirata, milline neist on süüdlane, kuid hea alguspunkt on meie C + + Redistributablesi artikkel, millel on ka mitu veaotsingu toimingut ja linke, kust saate Microsofti otse kõige uuemaid versioone allalaadida.
- DLL-ga kaasnev rakendus. Kui DLL oli installitud koos rakendusega, mitte osana eraldi paketist, on teie parim võimalus lihtsalt rakenduse uuesti installida. Mõned rakendused lubavad täieliku taasinstallimise asemel remonti. Mõlemad võimalused peaksid toimima, kuna remont otsib tavaliselt installifailides puuduvaid faile.
Kui see kõik ebaõnnestub, võib teil olla võimalik pöörduda rakenduse tarnija poole ja taotleda üksikute DLL-failide koopiat. Mõned ettevõtted on selleks taotlusele avatud; mõned ei ole. Kui satute ettevõtte juurde, mis ei anna üksikutele failidele, võivad nad vähemalt pakkuda oma probleemi lahendamiseks teisi soovitusi.