Če ta članek ne opisuje sporočila o napaki, ki ga prejemate, lahko na strani TechNet Dogodki in napake dobite podrobne razlage sporočil o napaki, priporočena dejanja in dodatne vire podpore.
Povzetek
Regsvr32 je pripomoček ukazne vrstice za registracijo in odjavitev kontrolnikov OLE, kot so DLL in kontrolniki ActiveX v registru Windows. Regsvr32.exe je nameščen v mapi %systemroot%System32 v operacijskem sistemu Windows XP in novejših različicah sistema Windows.
Opomba V 64-bitni različici operacijskega sistema Windows obstajata dve različici datoteke Regsv32.exe:-
64-bitna različica je %systemroot%\System32\regsvr32.exe.
-
32-bitna različica je %systemroot%\SysWoW64\regsvr32.exe.
Sintaksa za ukaz Regsvr32
RegSvr32.exe ima naslednje možnosti ukazne vrstice:
Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>
/u – Preklic registracije strežnika /i – Pokliče funkcijo DllInstall in ji posreduje izbirno [ukaznovrstico]; če se uporabi z /u, pokliče funkcijo dll uninstall /n – ne kliči funkcije DllRegisterServer; to možnost morate uporabiti z /i /s – Tiho; brez prikazovanja polj s sporočiliPogoste rešitve za napake Regsvr32
Ko prejmete napako Regsvr32, poskusite z eno od naslednjih metod:
-
1. način: Znova zaženite ukaz Regsvr32 iz ukaznega poziva s skrbniškimi pravicami.Če želite odpreti povišani ukazni poziv, sledite tem korakom:
Windows 8.1 in Windows 8Podrsnite navznoter z desnega roba zaslona in tapnite Iskanje. Če pa uporabljate miško, pokažite v spodnji desni kot zaslona in kliknite Iskanje. V polje Iskanje vnesite Ukazni poziv, z desno tipko miške kliknite Ukazni poziv in nato kliknite Zaženi kot skrbnik. Če vas računalnik pozove k vnosu skrbniškega gesla ali potrditvi, vnesite geslo ali pa kliknite Dovoli.
Windows 7 in Windows VistaKliknite Start, vnesite ukazni poziv ali cmd v polje Iskanje, z desno tipko miške kliknite Ukazni poziv, nato pa kliknite Zaženi kot skrbnik. Če vas računalnik pozove k vnosu skrbniškega gesla ali potrditvi, vnesite geslo ali pa kliknite Dovoli.
Windows XPPrijavite se s skrbniškim računom ali računom, ki ima skrbniške pravice, nato pa odprite okno ukaznega pozivnika.
-
2. način: Uporabite 32-bitno različico Regsvr32 za registriranje 32-bitne DLL-a v 64-bitni različici sistema WindowsČe pri registraciji 32-bitne DLL-a v 64-bitni različici sistema Windows prejmete napako, sledite tem korakom:
-
Odprite ukazni poziv na skrbniški ravni.
-
Če je 32-bitni DLL v mapi%systemroot%\System32, jo premaknite v mapo%systemroot%\SysWoW64.
-
Zaženite ta ukaz:
%systemroot%\SysWoW64\regsvr32 <full path of the DLL>
-
Sporočila o napakah Regsvr32
Spodnja tabela vsebuje sporočila o napakah RegSvr32 in možne vzroke:
Sporočilo o napaki |
Razlog |
---|---|
Ukaz »"%1"« ni veljaven. Preverite uporabo ukaza in poskusite znova. |
V ukazno vrstico za regsvr32.exe je bila posredovana neveljavna kombinacija možnosti. |
Ta ukaz je veljaven le, če je odprt projekt kontrolnika ActiveX za Microsoft Visual Studio OLE. |
Visual Studio je priklical Regsvr32.exe, vendar moduli niso bili določeni v ukazni vrstici. |
Če želite registrirati modul, morate navesti dvojiško ime. |
Orodje Regsvr32.exe je bilo priklicano brez določenih modulov v ukazni vrstici. |
Ukaz »OleInitialize« se ni zagnal. V računalniku morda primanjkuje pomnilnika. Zaprite vse odprte programe in poskusite znova. |
Regsvr32 mora inicializirati knjižnico COM, preden lahko pokliče potrebne funkcije knjižnice COM, in jo ustaviti, preden se orodje zaustavi. Ta sporočila o napakah se prikažejo, če poskus inicializiranja ali ustavljanja knjižnice COM ne uspe. |
Modul »"%1"« se ni naložil.\n\n Preverite, ali je dvojiška datoteka shranjena na navedeni poti, oz. poiščite in odpravite težave z dvojiško datoteko ali odvisnimi datotekami .DLL.\n\n%2. |
Pri nalaganju modula, ki je bil naveden v ukazni vrstici, je prišlo do napake. Besedilo napake se prikaže kot del sporočila. |
Modul »"%1"« se je naložil, vendar vhodne točke %2 ni bilo mogoče najti.\n\nPreverite, ali je »"%1"« veljavna datoteka DLL ali OCX, in nato poskusite znova |
Orodje Regsvr32.exe ni našlo zahtevane vhodne točke v modulu, ki je naveden v ukazni vrstici. Do tega lahko pride, če vhodne točke niso pravilno izvožene iz modula ali če modul ni datoteka .DLL ali .OCX. |
Modul »"%1"« je bil naložen, vendar klicanje %2 ni uspelo s kodo napake %3.\n\nČe želite več informacij o tej težavi, uporabite kodo napake kot izraz za iskanje v spletu. |
Ko orodje regsvr32.exe prikliče vhodno točko v modulu, ki je naveden v ukazni vrstici, pride do napake. Koda napake se prikaže kot del sporočila. |
Modul »"%1"« morda ni združljiv z različico sistema Windows, ki jo uporabljate. Preverite, ali je modul združljiv z različico x86 (32-bitna) ali x64 (64-bitna) orodja regsvr32.exe. |
Do te napake lahko pride, če na primer zaženete regsvr32.exe v računalniku z arhitekturo x86, modul, ki je naveden v ukazni vrstici, pa je 64-bitni modul. |
Spodnja tabela vsebuje sporočila o napakah RegSvr32 in možne vzroke:
Sporočilo o napaki |
Razlog |
|
---|---|---|
Neprepoznana zastavica: /neveljavna_zastavica |
Vnesli ste neveljavno kombinacijo zastavic ali stikal. |
|
Ni določenega imena DLL. |
Niste vključili imena datoteke .dll. |
|
Datoteka Dll_Name je bila naložena, vendar vhodne točke DllRegisterServer ali DllUnregisterServer ni bilo mogoče najti. |
Določeno ime Dll ni datoteka .dll ali .ocx. To sporočilo o napaki se prikaže, če na primer vnesete regsvr32 wjview.exe. |
|
Dll_Name ni izvršljiva datoteka in za to vrsto datoteke ni registriranega pomočnika za registriranje. |
Določeno ime Dll ni izvedljiva datoteka (.exe, .dll ali .ocx). To sporočilo o napaki se prikaže, če na primer vnesete regsvr32 autoexec.bat. |
|
Dll_Name se ne more samodejno registrirati ali pa je v pomnilniku poškodovana različica. |
To sporočilo se prikaže, če vnesete na primer regsvr32 icwdial.dll, ker se datoteka Icwdial.dll ne more samodejno registrirati. Če sumite, da je v pomnilniku poškodovana različica datoteke ImeDll, poskusite znova zagnati računalnik ali pa znova ekstrahirajte izvirno različico datoteke. |
|
Funkcija OleInitialize ni uspela (ali funkcija OleUninitialize ni uspela). |
Regsvr32 mora inicializirati knjižnico COM, preden lahko pokliče potrebne funkcije knjižnice COM, in jo ustaviti, preden se orodje zaustavi. Ta sporočila o napakah se prikažejo, če poskus inicializiranja ali ustavljanja knjižnice COM ne uspe. Datoteka Ole32.dll je lahko na primer poškodovana ali pa gre za napačno različico. |
|
Atribut LoadLibrary(" Dll_Name ") ni uspel. GetlastError vrne 0x00000485 |
Iz Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). To pomeni »Ene od datotek s knjižicami, ki so potrebne za zagon tega programa, ni mogoče najti.«. Če na primer vnesete regsvr32 missing.dll , se prikaže to sporočilo o napaki, če datoteke Missing.dll ni mogoče najti. |
|
Atribut LoadLibrary("Dll_Name") ni uspel. GetLastError vrne 0x00000002 |
Iz Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). To pomeni »Sistem ne najde navedene datoteke.«. Z drugimi besedami, ni bilo mogoče najti odvisne knjižnice DLL. Če na primer vnesete regsvr32 icwdial.dll z manjkajočo datoteko Tapi32.dll (odvisnost), se prikaže to sporočilo o napaki. |
|
Klic LoadLibrary(»dskmaint.dll«) ni uspel. GetLastError vrne 0x000001f |
Iz Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). To pomeni »Naprava, priključena na računalnik, ne deluje.«. To se lahko zgodi, če poskusite registrirati datoteko .dll Win16. Če na primer vnesete regsvr32 dskmaint.dll, se prikaže to sporočilo o napaki. |
|
Atribut DllRegisterServer (ali DllUnregisterServer) in Dll_Name ni uspel. Povratna koda je bila: niz |
V datoteki Winerror.h poiščite niz, ki je naveden v sporočilu. |