Domovská » jak » Co jsou DLL soubory a proč chybí z počítače?

    Co jsou DLL soubory a proč chybí z počítače?

    Pokud se zobrazí chyba, že systém Windows nemůže najít konkrétní soubor DLL, může být strašně lákavé stáhnout soubor z jednoho z mnoha stránek DLL tam. Zde je důvod, proč byste neměli.

    Co jsou knihovny DLL?

    Než začneme s tím, proč byste neměli stahovat soubory Dynamic Link Library (DLL) z Internetu, nejprve se podívejme na to, jaké DLL soubory jsou. Soubor DLL je knihovna, která obsahuje sadu kódů a dat pro provádění určité činnosti v systému Windows. Aplikace mohou potom volat na tyto soubory DLL, když potřebují tuto vykonanou činnost. DLL soubory jsou spousty spustitelných (EXE) souborů, s výjimkou, že DLL soubory nelze přímo spustit v systému Windows. Jinými slovy, nelze dvojitým kliknutím na soubor DLL spustit jej stejným způsobem jako soubor EXE. Místo toho jsou soubory DLL navrženy tak, aby byly vyvolávány jinými aplikacemi. Ve skutečnosti jsou navrženy tak, aby je vyžadovaly více aplikací najednou. Část "propojení" názvu DLL také naznačuje další důležitý aspekt. Více DLL lze propojit dohromady, takže při volání jedné knihovny DLL se současně volá i další DLL.

    Samotný systém Windows používá rozsáhlé knihovny DLL jako prohlídku C: \ Windows \ System32 složka vám může říct. Jako příklad toho, o čem mluvíme, zvažte systémový soubor systému Windows "comdlg32.dll". Tento soubor, jinak známý jako knihovna běžných dialogových oken, obsahuje kód a data pro vytváření mnoha běžných dialogových oken, které vidíte v Windows-dialogy pro věci, jako je otevírání souborů, tisk dokumentů a tak dále. Pokyny v této knihovně DLL zpracovávají vše od příjmu a interpretace zpráv určených pro dialogové okno k určení způsobu zobrazení dialogového okna na obrazovce. Je zřejmé, že více aplikací může volat na tuto knihovnu DLL současně, jinak byste nemohli otevřít dialogové okno (jako je níže) ve více než jedné aplikaci najednou.

    Knihovny DLL umožňují modularizaci a opětovné použití kódu, což znamená, že vývojáři nemusí věnovat čas psaní kódu od nuly a provádět běžné nebo běžné funkce. A i když si vývojáři vytvoří vlastní DLL, aby mohli instalovat s jejich aplikacemi, drtivá většina knihoven DLL nazvaných aplikacemi jsou ve skutečnosti svázána s Windows nebo s dalšími balíčky, jako je Microsoft .NET Framework nebo Microsoft C ++ Redistributables. Další velkou výhodou modularizačního kódu je, že aktualizace jsou snadněji použitelná na každou knihovnu DLL než na celou aplikaci - zejména pokud tyto DLL nepocházejí od vývojáře aplikace. Například když společnost Microsoft aktualizuje určité DLL v .NET Framework, všechny aplikace, které používají tyto knihovny DLL, mohou okamžitě využít aktualizované zabezpečení nebo funkčnost.

    Stažené DLL mohou být zastaralé

    Takže s trochou znalostí knihoven DLL pod našimi pásy, proč není stáhnout z internetu, když je chybí z vašeho systému?

    Nejběžnějším problémem, se kterým se setkáte se staženými DLL, je, že jsou zastaralé. Mnoho stránek DLL tam venku získává jejich knihovny DLL pouze tím, že je nahraje z vlastních počítačů nebo jejich počítačů. Problém pravděpodobně pravděpodobně uvidíte. Většina z těchto webů jen chtěla vaši návštěvnost a po načtení knihovny DLL mají jen málo motivací zajistit, aby byl soubor aktualizován. Přidejte k tomu, že prodejci obvykle nezveřejňují aktualizované knihovny DLL veřejnosti jako jednotlivé soubory a můžete vidět, že dokonce i stránky, které Snaž se aby soubory byly aktuální, pravděpodobně nebude velmi úspěšné.

    Existuje také další problém, že DLL jsou obvykle integrovány do balíčků. Aktualizace jedné knihovny DLL v balíčku je často doprovázena aktualizacemi ostatních souvisejících knihoven DLL ve stejném balíčku, což znamená, že dokonce i v případě, že se vám nedaří získat aktuální soubor DLL, nebudete mít související soubory, které mají také byly aktualizovány.

    Stažené DLL mohou být nakaženy

    Ačkoli je méně obvyklé, potenciálně mnohem horší problém je, že knihovny DLL, které stahujete z jiných zdrojů než od dodavatele, mohou být někdy načteny viry nebo jiným malwarem, který může infikovat váš počítač. To platí zejména pro weby, které nejsou příliš opatrní, odkud dostanou své soubory. A není to tak, že tyto stránky budou jít ven, aby vám řekli o svých rizikových zdrojích. Opravdu děsivá část je, že pokud si stáhnete infikovaný soubor DLL, riskujete - ze samotné povahy souborů DLL - dává tomuto souboru hlubší přístup, než by mohl získat pravidelný infikovaný soubor.

    Dobrou zprávou je, že dobrá antivirová aplikace v reálném čase obvykle zjistí tyto infikované soubory DLL dříve, než jsou skutečně uloženy do vašeho systému a zabrání jim v poškození. Přesto si musíte pamatovat, že ani skvělý antivirový program vám nemusí poskytnout dokonalou ochranu. Pokud máte zvyk stahovat nebezpečné soubory, je pravděpodobné, že vás dohoní v určitém okamžiku. Nejlepší je prostě vyhnout těmto stránkám DLL.

    Oni pravděpodobně nevyřeší váš problém

    I když je možné, že se na vašem počítači poškodil nebo odstranil pouze jeden soubor DLL, je pravděpodobné, že další DLL nebo související soubory aplikací jsou také poškozené nebo chybí. Důvodem, proč jste se dostali k chybě týkajícímu se konkrétního souboru, je, že je to první chyba aplikace, která se vyskytla před zhroucením, a jednoduše nejste upozorněni na ostatní. To může být pravda bez ohledu na příčinu problému.

    Proč by knihovny DLL mohly být chybějící nebo poškozené? Může se stát, že se jiný vynechaný program nebo aktualizace pokoušeli soubor nahradit a nepodařilo se ho vyměnit za zastaralou. Může to být chyba při instalaci hlavní aplikace nebo v balíčku, jako je .NET. Mohlo by to být i to, že máte na svém pevném disku další problémy, jako jsou špatné sektory, které zabraňují správnému načtení souboru.

    Jak mohu opravit chybu DLL?

    Jediným způsobem, jak zajistit, abyste získali stabilní, aktuální a čistou knihovnu DLL, je dostat se přes zdroj, ze kterého pochází. Typicky bude tento zdroj:

    • Instalační médium systému Windows. Je nepravděpodobné, že budete moci jednoduše zkopírovat soubor DLL z instalačního média, ale máte možnost zkusit zkusit předtím, než uděláte něco drastického jako reintalování systému Windows. Můžete použít nástroj pro ochranu zdrojů systému Windows (často označovaný jako systémový souborový kontrolér nebo SFC), který vyhledá a opravuje poškozené nebo chybějící systémové soubory v systému Windows. Měli byste mít instalační médium šikovný při spuštění nástroje, jen v případě, že potřebuje zkopírovat soubor odtud. (Pokud nemáte instalační disk, můžete si jej stáhnout zde.)
    • Balíčky Microsoft .NET Framework. Několik verzí .NET je automaticky nainstalováno spolu s Windows a mnoho aplikací také nainstaluje soubory z těchto balíčků. Můžete si přečíst náš článek o .NET frameworku, který má také několik rad pro nalezení a opravu souvisejících problémů.
    • Různé balíčky Redistributable Microsoft Visual C ++. V závislosti na aplikacích, které používáte, můžete mít v počítači nainstalované více verzí C ++ Redistributable. Někdy může být těžké zúžit, který z nich je vinník, ale dobré místo pro začátek je náš článek o C ++ Redistributables, který také obsahuje několik kroků a odkazů pro odstraňování problémů, kde si můžete stáhnout nejaktuálnější verze přímo od společnosti Microsoft.
    • Aplikace, která byla součástí DLL. Pokud byla knihovna DLL nainstalována spolu s aplikací spíše než součástí samostatného balíčku, nejlépe je pouze přeinstalovat aplikaci. Některé aplikace vám umožňují provádět opravu namísto úplné reinstalace. Každá z možností by měla fungovat, protože opravy obvykle vyhledávají chybějící soubory v instalačních složkách.

    Pokud vše, co selhalo, můžete kontaktovat dodavatele aplikací a požádat o kopii souboru DLL. Některé společnosti jsou na tuto žádost otevřeny; některé nejsou. Pokud narazíte na společnost, která neposkytne jednotlivé soubory, mohou alespoň nabídnout další návrhy řešení vašeho problému.