Co je dobré vědět
- Pro registraci souboru DLL myfile.dll zadejte regsvr32 myfile.dll a pro zrušení registrace zadejte r egsvr32 /u myfile.dlldo příkazového řádku.
- Pokud se při pokusu o registraci souboru DLL zobrazí chyba, možná nemáte správná oprávnění nebo může být soubor zablokován.
- Další chyby mohou být způsobeny chybějící závislostí; pokud ano, použijte Dependency Walker k zobrazení všech závislostí, které soubor DLL vyžaduje.
Tento článek vysvětluje, jak používat nástroj příkazového řádku regsvr32 ve Windows a jak opravit některé chyby regsvr32. Regsvr32 se používá k registraci a zrušení registrace ovládacích prvků OLE (Object Linking and Embedding), jako jsou soubory DLL a ovládací prvek ActiveX.soubory OCX. Pokud v počítači uvidíte chybu DLL, možná budete muset zaregistrovat soubor DLL.
Jak zaregistrovat a zrušit registraci souboru DLL
Pokud jsou odkazy v registru Windows, které odkazují na soubor DLL, nějakým způsobem odstraněny nebo poškozeny, programy, které potřebují tento soubor DLL používat, mohou přestat fungovat. Když je toto spojení s registrem přerušeno, měl by být zaregistrován soubor DLL.
Registrace souboru DLL se obvykle provádí přeinstalováním programu, který jej zaregistroval. Někdy však možná budete muset zaregistrovat soubor DLL sami ručně pomocí příkazového řádku.
Pokud si nejste jisti, jak jej najít, podívejte se na náš návod, jak otevřít příkazový řádek.
Toto je správný způsob, jak strukturovat příkaz regsvr32:
regsvr32 [/u] [/n] [/i[:cmdline]
Tento první příkaz byste například zadali pro registraci souboru DLL s názvem myfile.dll nebo druhý pro jeho zrušení:
regsvr32 myfile.dll
regsvr32 /u myfile.dll
Ne všechny knihovny DLL lze zaregistrovat pouhým zadáním výše uvedeného příkazu do příkazového řádku. Možná budete muset nejprve ukončit službu nebo program, který soubor používá.
Jak opravit běžné chyby Regsvr32
Zde je jedna chyba, kterou můžete vidět při pokusu o registraci souboru DLL:
Modul byl načten, ale volání DllRegisterServer se nezdařilo s kódem chyby 0x80070005.
Toto je obvykle problém s oprávněním. Pokud vám spuštění příkazového řádku se zvýšenými oprávněními stále neumožňuje zaregistrovat soubor DLL, může být zablokován samotný soubor. Zkontrolujte sekci Zabezpečení na kartě Obecné v okně Vlastnosti souboru.
Dalším možným problémem může být, že nemáte správná oprávnění k použití souboru.
Podobná chybová zpráva je formulována jako níže uvedená. Tato chyba obvykle znamená, že knihovna DLL není používána jako COM DLL pro žádnou aplikaci v počítači, což znamená, že ji není třeba registrovat.
Modul byl načten, ale vstupní bod DllRegisterServer nebyl nalezen.
Zde je další chybová zpráva regsvr32:
Načtení modulu se nezdařilo. Ujistěte se, že je binární soubor uložen na zadané cestě, nebo jej odlaďte, abyste zkontrolovali problémy s binárními nebo závislými soubory. DLL. Zadaný modul nebyl nalezen.
Tato konkrétní chyba může být způsobena chybějící závislostí, v takovém případě můžete použít Dependency Walker k zobrazení seznamu všech závislostí, které soubor DLL vyžaduje, protože jedna může chybět a musíte ji mít v pořádku aby se DLL správně zaregistrovala.
Také se ujistěte, že cesta k souboru DLL je napsána správně. Syntaxe příkazu je velmi důležitá; pokud není správně zadáno, může dojít k chybě.
Některé soubory DLL mohou vyžadovat, aby jejich umístění bylo ohraničeno uvozovkami, jako je tento:
"C:\Users\Admin User\Programs\myfile.dll"
Kde je uložen soubor Regsvr32.exe?
32bitové verze systému Windows (XP a novější) při první instalaci systému Windows přidejte nástroj Microsoft Register Server do této složky: %systemroot%\System32\.
64bitové verze Windows ukládají soubor regsvr32.exe nejen tam, ale také zde: %systemroot%\SysWoW64\.