Ako zaregistrovať DLL v systéme Windows

Používatelia sa pýtajú na to, ako zaregistrovať súbor DLL v systéme Windows 7 a 8. Obvykle sa po zistení chýb, ako je napríklad "Program nemožno spustiť, pretože potrebná dll nie je na počítači". O tomto a hovoriť.

Registrácia knižnice v systéme nie je taká ťažká úloha (ukážem toľko ako tri varianty jednej metódy) - v skutočnosti je potrebný iba jeden krok. Jedinou požiadavkou je, že máte práva správcu systému Windows.

Existujú však určité nuansy - napríklad úspešná registrácia DLL nemusí nevyhnutne ušetriť z knižnice chýbajúce chyby v počítači a objaviť sa chyba RegSvr32 so správou, že modul nie je kompatibilný s verziou systému Windows v tomto počítači alebo vstupný bod DLLRegisterServer nebol nájdený. Neznamená to, že robíte niečo zlé (vysvetlím to na konci článku).

Tri spôsoby registrácie DLL v systéme OS

Pri popisovaní ďalších krokov predpokladám, že ste našli miesto, kde musíte skopírovať svoju knižnicu a DLL je už v priečinku System32 alebo SysWOW64 (a možno niekde inde, ak by tam mala byť).

Poznámka: nižšie bude popísané, ako zaregistrovať knižnicu DLL pomocou programu regsvr32.exe, upozorňujem však na skutočnosť, že ak máte 64-bitový systém, potom máte dva regsvr32.exe - jeden v priečinku C: \ Windows \ SysWOW64 druhá je C: \ Windows \ System32.Sú to rôzne súbory so 64-bitovým umiestnením v priečinku System32. Odporúčam použiť úplnú cestu k súboru regsvr32.exe v každom z týchto spôsobov, a nie len názov súboru, ako som ukázal v príkladoch.

Prvá metóda je popísaná na internete častejšie ako iné a pozostáva z nasledujúcich:

  • Stlačte kláves Windows + R alebo v ponuke Štart systému Windows 7 vyberte položku "Spustiť" (ak ste samozrejme povolili jeho zobrazenie).
  • vstúpiť regsvr32.exe path_to_file_dll
  • Kliknite na tlačidlo OK alebo Enter.

Potom, ak všetko prebehlo dobre, mali by ste vidieť správu, že knižnica bola úspešne zaregistrovaná. Ale s veľkou pravdepodobnosťou uvidíte ďalšiu správu - modul je načítaný, ale vstupný bod DllRegisterServer nebol nájdený a stojí za to skontrolovať, či vaša DLL je správny súbor (o tom napíšem neskôr, ako som už povedal).

Druhou možnosťou je spustenie príkazového riadku ako správcu a zadanie toho istého príkazu z predchádzajúcej položky.

  • Spustite príkazový riadok ako správca. V systéme Windows 8 môžete stlačiť klávesy Win + X a potom vybrať požadovanú položku ponuky. V systéme Windows 7 nájdete príkazový riadok v ponuke Štart, kliknite naň pravým tlačidlom a vyberte možnosť Spustiť ako správca.
  • Zadajte príkaz regsvr32.exe path_to_library_dll (na obrazovke nájdete príklad).

Opäť je pravdepodobné, že nebudete môcť zaregistrovať DLL v systéme.

A posledná metóda, ktorá môže byť užitočná aj v niektorých prípadoch:

  • Kliknite pravým tlačidlom na DLL, ktorú chcete zaregistrovať, a vyberte položku ponuky "Otvoriť s."
  • Kliknite na tlačidlo "Prehľadávať" a nájdite súbor regsvr32.exe v priečinku Windows / System32 alebo Windows / SysWow64, otvorte ho pomocou DLL.

Podstata všetkých opísaných spôsobov registrácie DLL v systéme je rovnaká, len niekoľko rôznych spôsobov spustenia rovnakého príkazu - čo je pre niekoho výhodnejšie. A teraz o tom, prečo nemáte nič.

Prečo nemožno zaregistrovať DLL

Takže nemáte žiadny súbor DLL, pretože kvôli tomu, čo vidíte pri spustení hry alebo programu, ste stiahli tento súbor z Internetu a pokúsili sa zaregistrovať, ale buď vstupný bod DllRegisterServer, alebo modul nie je kompatibilný s aktuálnou verziou systému Windows a možno niečo iné, to znamená, že registrácia DLL nie je možná.

Prečo sa to deje (ďalej to bude o tom, ako to napraviť):

  • Nie všetky súbory DLL sú navrhnuté na registráciu. Aby mohla byť registrovaná týmto spôsobom, musí mať podporu pre samotnú funkciu DllRegisterServer.Niekedy je chyba spôsobená aj skutočnosťou, že knižnica je už zaregistrovaná.
  • Niektoré stránky ponúkajúce na stiahnutie DLL obsahujú v skutočnosti fiktívne súbory s názvom, ktorý hľadáte a nemožno ich zaregistrovať, pretože v skutočnosti nejde o knižnicu.

A teraz, ako to opraviť:

  • Ak ste programátor a zaregistrujte svoju DLL, skúste regasm.exe
  • Ak ste používateľ a nezačínajte niečo so správou, že DLL nie je vo vašom počítači - vyhľadajte na internete, aký súbor je, a nie kde ho chcete prevziať. Ak to viete, zvyčajne si môžete prevziať oficiálny inštalátor, ktorý nainštaluje pôvodné knižnice a zaregistruje ich v systéme - napríklad pre všetky súbory s názvom začínajúcim na d3d, stačí iba zadať DirectX z oficiálnej webovej lokality spoločnosti Microsoft pre msvc, jednu z verzií Visual Studio Redistributable. (A ak sa hra nespustí z torrentu, pozrite sa do správ antivírusu, môže odstrániť potrebnú súpravu DLL, často sa to stane s niektorými upravenými knižnicami).
  • Zvyčajne namiesto registrácie DLL sa spustí umiestnenie súboru v rovnakom priečinku ako spustiteľný exe súbor, ktorý vyžaduje túto knižnicu.

Na tento účel dúfam, že sa niečo stalo jasnejšie, ako to bolo.