7Aug
Ha hiba történt, amikor a Windows nem talált egy adott DLL-fájlt, szörnyen csábító lehet letölteni a fájlt a sok DLL-webhely egyikéről. Ezért nem szabad.
Mi az a DLL?
Mielőtt elkezdenénk, hogy miért ne töltsön le dinamikus link könyvtárat( DLL) az internetről, először nézzük meg, mi a DLL fájl. A DLL fájl olyan könyvtár, amely tartalmaz egy kódkészletet és adatokat egy adott tevékenység elvégzéséhez a Windows rendszerben. Az alkalmazások ezután felhívhatják azokat a DLL fájlokat, amikor szükségük van rá.A DLL-fájlok nagyon hasonlítanak a végrehajtható( EXE) fájlokra, kivéve, hogy a DLL-fájlokat nem lehet közvetlenül végrehajtani a Windows rendszerben. Más szóval, nem lehet duplán kattintani egy DLL fájlra, hogy ugyanúgy fusson, mint egy EXE fájl. Ehelyett a DLL-fájlokat úgy tervezték, hogy más alkalmazások is felhívják őket. Valójában úgy tervezték, hogy egyszerre több alkalmazás hívja fel őket. A DLL-név "link" része szintén egy másik fontos szempontot sugall. Több DLL összekapcsolható úgy, hogy amikor egy DLL-t hívnak, több más DLL-t hívnak egyszerre.
A Windows maga is széles körben használja a DLL-eket, mivel a C: \ Windows \ System32 mappán keresztül megnézheti. Példaként arról, hogy miről beszélünk, vegyük fontolóra a Windows rendszerfájlt "comdlg32.dll". Ez a fájl, más néven a Közös párbeszédpanel-könyvtár, kódot és adatokat tartalmaz számos közös párbeszédablak építéséhez. Windows párbeszédpanelek a fájlok megnyitásához, dokumentumok nyomtatásához stb. Az ebben a DLL-ben található utasítások mindent kezelnek a párbeszédablakhoz tartozó üzenetek fogadására és értelmezésére, hogy meghatározzák a párbeszédablak megjelenését a képernyőn. Nyilvánvaló, hogy több alkalmazás is hívhatja ezt a DLL-et egy időben, különben egyidejűleg nem tud több pár alkalmazásban megnyitni egy párbeszédablakot( mint az alábbihoz).Az
DLL-ek lehetővé teszik a kód modularizálását és újrafelhasználását, ami azt jelenti, hogy a fejlesztőknek nem kell időt tölteniük a kódok írásával a világi vagy általános funkciók végrehajtása érdekében.És bár a fejlesztők saját alkalmazásukkal telepítik saját DLL-ket, az alkalmazások által felkínált DLL-ek nagy többsége valójában Windows-kal vagy extra csomagokkal, például a Microsoft. NET-keretrendszerrel vagy a Microsoft C ++ Redistributables programmal együtt működik. A modularizálási kód másik nagy előnye, hogy a frissítések könnyebben alkalmazhatók az egyes DLL-ekre, nem pedig egy teljes alkalmazásra - különösen akkor, amikor ezek a DLL-k nem származnak az alkalmazás fejlesztőjétől. Például, amikor a Microsoft bizonyos DLL-eket frissít a. NET-keretrendszerben, minden olyan alkalmazás, amely ezeket a DLL-eket használja, azonnal kihasználhatja a frissített biztonságot vagy funkcionalitást.
A letöltött DLL-ek elavultak
Tehát, ha a DLL-eket kevésbé megértjük a mi övünk alatt, miért nem töltjük le őket az internetről, ha hiányzik a rendszer?
A leggyakoribb probléma, amellyel letöltött DLL-eket futtat, az, hogy elavult. A DLL-ek nagy része ott kapja meg a DLL-ket, ha feltölti őket a sajátjukról vagy a felhasználók számítógépeiről. Valószínűleg már látja a problémát. A legtöbb ilyen webhely csak a forgalmat kívánja, és ha egyszer feltölti a DLL-t, kevés ösztönzésük van annak biztosítására, hogy a fájl naprakész legyen. Add hozzá, hogy a gyártók általában nem teszik közzé a frissített DLL-eket a nyilvánosság számára egyedi fájlokként, és láthatja, hogy azok a webhelyek is, amelyek próbálják kiállítani az fájlt, nem valószínű, hogy nagyon sikeresek lesznek.
További probléma, hogy a DLL-ek általában csomagokba integrálódnak. Egy csomag egy DLL-jének frissítése gyakran társul az ugyanazon csomagban található más, kapcsolódó DLL-ek frissítéseihez, vagyis abban az esetben, ha valószínűtlen esetben nem kap egy naprakész DLL-fájlt, nem kap hasonló fájlokat, amelyek szinténfrissítve.
Letöltött DLL-ek fertőzhetők
Bár kevésbé gyakori, a potenciálisan sokkal rosszabb probléma az, hogy az eladótól eltérő forrásokból letöltett DLL-eket néha olyan vírusokkal vagy más rosszindulatú programokkal lehet betölteni, amelyek megfertőznék a számítógépet. Ez különösen igaz azokon a helyeken, amelyek nem túl óvatosak a fájlok megszerzésére.És nem olyan, mintha ezek a webhelyek el fognak menni az útból, hogy megmondják neked kockázatos forrásaikat. Az igazán ijesztő rész az, hogy ha letöltöd egy fertőzött DLL-fájlt, akkor a DLL-fájlok természetéből fakadsz - ez a fájl mélyebb hozzáférést biztosít, mint egy rendszeres fertőzött fájl.
A jó hír az, hogy egy jó, valós idejű víruskereső alkalmazás általában észleli ezeket a fertőzött DLL fájlokat, mielőtt azok ténylegesen mentésre kerülnek a rendszerben, és megakadályozzák őket abban, hogy kárt okozjanak. Mégis, ne feledje, hogy még egy nagyszerű víruskereső program sem nyújt tökéletes védelmet. Ha a szokásos módon letölti a kockázatos fájlokat, valószínűleg fel fog lépni veled egy bizonyos ponton. A legjobb, ha elkerüljük ezeket az DLL-oldalakat.
Valószínűleg nem oldja meg a problémát
Bár lehetséges, hogy egyetlen DLL fájl van a számítógépén sérült vagy törölt, valószínűbb, hogy más DLL-ek vagy a kapcsolódó app fájlok is korrupt vagy hiányzik. Azért, hogy egy adott fájllal kapcsolatos hiba van, az az, hogy ez az első hiba az alkalmazásnak, mielőtt összeomlik, és egyszerűen nem értesülnek a többiről. Ez igaz lehet, függetlenül a probléma okaitól.
Miért tűnhet el a DLL hiánya vagy sérülése? Előfordulhat, hogy egy másik megszakadt alkalmazás vagy frissítés megpróbálta kicserélni a fájlt, és nem sikerült, vagy helyettesíti azt egy elavult másolattal. Lehet, hogy hiba van a fő alkalmazás telepítésében vagy egy olyan csomagban, mint a. NET.Előfordulhat, hogy a merevlemezén lévő másik probléma - például a rossz szektorok - vannak, amelyek megakadályozzák a fájl helyes betöltését.
Hogyan tudom javítani az én DLL hibámat?
Az egyetlen módja annak, hogy stabil, naprakész és tiszta DLL-t kapj, hogy átjusson a forráson, ahonnan származik.Általában ez a forrás:
- A Windows telepítési adathordozója .Nem valószínű, hogy egyszerűen átmásolhat egy DLL-fájlt a telepítő adathordozóról, de van egy gyors lehetősége arra, hogy kipróbálja, mielőtt valami olyan drasztikusan működne, mint a Windows újraindítása. Használhatja a Windows erőforrás-védelmi eszközt( gyakran rendszerfájl-ellenőrzőnek vagy SFC-nek nevezik), amely a Windows rendszerben hibás vagy hiányzó rendszerfájlokat keres és javít. A telepítő médiának kéznél kell lennie az eszköz futtatásakor, csak abban az esetben, ha fájlt kell másolni.(Ha nem rendelkezik telepítőlemezzel, akkor itt töltheti le.)
- A Microsoft. NET Framework csomagok .A. NET több verziója automatikusan telepítve van a Windows rendszerrel, és számos alkalmazás telepíti a fájlokat a csomagokból is. Elolvashatja a. NET keretrendszerről szóló cikkünket, amely szintén tartalmaz néhány tanácsot a kapcsolódó problémák felkutatására és javítására.
- Különböző Microsoft Visual C ++ Redistributable csomagok .A használt alkalmazásoktól függően előfordulhat, hogy a C ++ Redistributable több verziója van telepítve a számítógépre. Néha nehéz szűkíteni, hogy melyik a tettes, de jó kiindulópont a C ++ Redistributables cikkünk, amely számos hibaelhárítási lépést és linket tartalmaz, ahol a legfrissebb verziókat közvetlenül letöltheti a Microsoftból.
- Az alkalmazás, amelyet a DLL érkezett az -vel. Ha a DLL telepítve van egy alkalmazással, és nem egy külön csomag részeként, akkor a legjobb megoldás az alkalmazás újratelepítése. Egyes alkalmazások lehetővé teszik a javítás elvégzését a teljes újratelepítés helyett. Mindkét opciónak működnie kell, mivel a javítás rendszerint hiányzó fájlokat keres a telepítési mappákban.
Ha mindez nem sikerül, előfordulhat, hogy kapcsolatba léphet az alkalmazásszolgáltatóval, és kérheti az egyes DLL-fájlok másolatát. Egyes vállalatok nyitottak erre a kérésre;egyesek nem. Ha egy olyan cégbe futsz, amely nem nyújt egyedi fájlokat, akkor esetleg más javaslatokat is tud nyújtani a probléma megoldására.