Ha ez a cikk nem a kapott hibaüzenetet ismerteti, a TechNet Események és Hibaüzenetek webhelyén részletes hibaüzenet magyarázatokat, ajánlott műveleteket és további támogatási forrásokat érhet el.
Összefoglalás
A Regsvr32 egy parancssori segédprogram, amely az OLE-vezérlők (például a DLL fájlok vagy ActiveX-vezérlők) Windows beállításjegyzékben történő regisztrálására, illetve azok regisztrációjának megszüntetésére használható. A Regsvr32.exe a %systemroot%\System32 mappában található a Windows XP és annál újabb rendszerekben.
Megjegyzés A Windows operációs rendszer 64 bites verziójában a Regsvr32.exe fájlnak két verziója van:
-
A 64 bites verzió: %systemroot%\System32\regsvr32.exe.
-
A 32 bites verzió: %systemroot%\SysWoW64\regsvr32.exe.
A Regsvr32.exe segédprogram használata
A RegSvr32.exe eszköz az alábbi parancssori paraméterekkel használható:
Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>
/u – Kiszolgáló regisztrációjának megszüntetése
/i – DllInstall meghívása nem kötelező [parancssor] átadásával; a /u paraméterrel együtt használva a dll uninstall meghívása
/n – A DllRegisterServer függvény meghívásának mellőzése; ezt a beállítást /i kapcsolóval kell használni
/s – Néma üzemmód; üzenetmezők megjelenítése nélkül
Általános megoldások a Regsvr32 hibákra
Regsvr32 hiba esetén próbálja végrehajtani az alábbi módszereket:
-
1. módszer: A Regsvr32 parancs ismételt futtatása a rendszergazdai jogosultságú parancssorbólA rendszergazdai jogosultságú parancssor megnyitásához kövesse az alábbi lépéseket:
Windows 8.1 és Windows 8Pöccintsen befelé a képernyő jobb széléről, majd koppintson a Keresés lehetőségre. Egér használata esetén mutasson a képernyő jobb alsó sarkába, majd kattintson a Keresés elemre. Gépelje be a Parancssor kifejezést a Keresés mezőbe, kattintson jobb gombbal a Parancssor elemre, majd kattintson a Futtatás rendszergazdaként parancsra. Ha a rendszer rendszergazdai jelszót vagy megerősítést kér, írja be a jelszót, vagy kattintson az Engedélyezés gombra.
Windows 7 és Windows VistaEhhez kattintson a Start gombra, írja be a Parancssor vagy a cmd parancsot a Keresés mezőbe, kattintson jobb gombbal a Parancssor elemre, majd kattintson a Futtatás rendszergazdaként parancsra. Ha a rendszer rendszergazdai jelszót vagy megerősítést kér, írja be a jelszót, vagy kattintson az Engedélyezés gombra.
Windows XPJelentkezzen be rendszergazdai fiókkal (vagy rendszergazdai jogosultsággal rendelkező fiókkal), majd nyissa meg a Parancssor ablakot.
-
2. módszer: 32 bites DLL fájl 64 bites Windows rendszerben történő regisztrálása a Regsvr32 32 bites verziója segítségévelHa egy 32 bites DLL fájl 64 bites Windows rendszerben történő regisztrációja során hibaüzenet jelenik meg a képernyőn, akkor kövesse az alábbi lépéseket:
-
Nyisson meg egy emelt szintű parancssort.
-
Ha a 32 bites DLL fájl a %systemroot%\System32 mappában található, akkor helyezze át a %systemroot%\SysWoW64 mappába.
-
Futtassa az alábbi parancsot:
%systemroot%\SysWoW64\regsvr32 <full path of the DLL>
-
Regsvr32 hibaüzenetek
Az alábbi lista a Regsvr32 eszköz hibaüzeneteit és azok lehetséges okait tartalmazza:
Hibaüzenet |
A probléma oka |
---|---|
A(z) ""%1"" parancsjelző név nem érvényes. Ellenőrizze a parancs használatát és próbálja meg újra. |
A regsvr32.exe parancshoz beállítások érvénytelen kombinációját adta át a parancssorban. |
Ez a parancs csak akkor érvényes, ha meg van nyitva egy Microsoft Visual Studio OLE ActiveX-vezérlő projekt. |
A Regsvr32.exe parancsot a Visual Studio hívta meg, de a parancssorban nem voltak megadva modulok. |
Egy modul regisztrálásához meg kell adnia egy bináris nevet. |
A Regsvr32.exe modulok parancssorban történő megadása nélkül lett meghívva. |
Az OleInitialize parancs futtatása sikertelen. Előfordulhat, hogy a számítógép nem rendelkezik elegendő memóriával. Zárjon be minden megnyitott programot és próbálja újra. |
A Regsvr32 segédprogramnak inicializálnia kell a COM-függvénytárat, mielőtt meghívná a szükséges COM-függvényeket, és a függvénytár leállásakor vissza kell vonnia az inicializálást. Ezek a hibaüzenetek akkor jelennek meg, ha a COM-függvénytár inicializálása vagy az inicializálás visszavonása sikertelen volt. |
A(z) ""%1"" modul betöltése meghiúsult.\n\n Ellenőrizze, hogy a bináris fájl a megadott útvonalon van-e tárolva vagy folytasson hibakeresést a bináris vagy a függő .DLL fájlokkal kapcsolatos problémák ellenőrzéséhez.\n\n%2. |
Hiba történt egy parancssorban meghatározott modul betöltésekor. A hiba szövege az üzenet részeként jelenik meg. |
A(z) ""%1"" modul be lett töltve, de a(z) %2 belépési pont nem található.\n\nGyőződjön meg arról, hogy a(z) ""%1"" érvényes DLL vagy OCX-fájl és próbálja újra |
A Regsvr32.exe nem találta meg a szükséges belépési pontot a parancssorban megadott modulban. Ez akkor fordulhat elő, ha a belepési pontok nem lettek helyesen exportálva a modulból vagy ha a modul nem .DLL vagy .OCX fájl. |
A(z) ""%1"" modul be lett töltve de a(z) %2 hívása %3 hibakóddal meghiúsult.\n\nA problémával kapcsolatos további információkat az interneten találhat a hibakódot megadva keresési kifejezésként. |
Hiba történt, amikor a regsvr32.exe meghívta a belépési pontot a parancssorban megadott modulban. A hibakód az üzenet részeként jelenik meg. |
Előfordulhat, hogy a(z) ""%1"" modul nem kompatibilis a futtatott Windows verzióval. Ellenőrizze, hogy a modul kompatibilis-e a regsvr32.exe x86-os (32 bites) vagy x64-es (64 bites) verziójával. |
Ez a hiba például akkor fordulhat elő, ha a regsvr32.exe egy x86-os rendszerű számítógépen fut és a parancssorban megadott modul egy 64 bites modul. |
Az alábbi lista a Regsvr32 eszköz hibaüzeneteit és azok lehetséges okait tartalmazza:
Hibaüzenet |
A probléma oka |
|
---|---|---|
Ismeretlen jelző: /invalid_flag |
Jelzők vagy kapcsolók érvénytelen kombinációját adta meg. |
|
Nincs megadva DLL-név. |
Nem adott meg .dll kiterjesztésű fájlnevet. |
|
A Dll_Name betöltése megtörtént, de a DllRegisterServer vagy a DllUnregisterServer belépési pont nem található. |
A megadott dll_neve fájl nem .dll vagy .ocx fájl. A regsvr32 wjview.exe parancs beírásakor például ez az üzenet jelenik meg. |
|
A Dll_Name nem végrehajtható fájl, és ehhez a fájltípushoz nincsen regisztrációs súgó regisztrálva. |
A megadott dll_neve fájl nem végrehajtható fájl (.exe, .dll vagy .ocx). A regsvr32 autoexec.bat parancs beírásakor például ez az üzenet jelenik meg. |
|
A Dll_Name fájl nem saját magát regisztráló fájl vagy a fájl sérült verziója található a memóriában. |
A regsvr32 icwdial.dll parancs hatására például ez a hibaüzenet jelenik meg, mert az Icwdial.dll fájl nem regisztrálja saját magát. Ha úgy véli, hogy a(z) dll_neve fájl sérült példánya van a memóriában, akkor próbálkozzon a számítógép újraindításával vagy a fájl eredeti verziójának újbóli kicsomagolásával. |
|
Az OleInitialize sikertelen (vagy az OleUninitialize sikertelen) |
A Regsvr32 segédprogramnak inicializálnia kell a COM-függvénytárat, mielőtt meghívná a szükséges COM-függvényeket, és vissza kell vonnia az inicializálást, amikor futása befejeződik. Ezek a hibaüzenetek akkor jelennek meg, ha a COM-függvénytár inicializálása vagy az inicializálás visszavonása sikertelen volt. A Ole32.dll fájl például sérült lehet vagy nem a megfelelő verziójú. |
|
LoadLibrary ("Dll_Name") betöltése sikertelen. A GetlastError függvény 0x00000485 értéket ad vissza |
A Winerror.h fájlból kapott 0x00000485 = 1157 érték (ERROR_DLL_NOT_FOUND) jelentése: „Az alkalmazás futtatásához szükséges függvénytár egy fájlja nem található.” Például a regsvr32 missing.dll parancs begépelésekor ez a hibaüzenet jelenik meg abban az esetben, ha a Missing.dll nevű fájl nem található. |
|
LoadLibrary("Dll_Name") betöltése sikertelen. A GetLastError függvény 0x00000002 értéket ad vissza |
AWinerror.h fájlból kapott 0x00000002 = 2 érték (ERROR_FILE_NOT_FOUND) jelentése: „A rendszer nem találja a megadott fájlt.” Más szóval egy függő DLL nem található. A Tapi32.dll (egy függőség) hiánya esetén, például a regsvr32 icwdial.dll parancs beírásakor ez a hibaüzenet jelenik meg. |
|
Hiba a LoadLibrary("dskmaint.dll") függvényben. A GetLastError függvény 0x000001f értéket ad vissza. |
A Winerror.h fájlból kapott 0x000001f = 31 érték (ERROR_GEN_FAILURE) jelentése: „Egy, a rendszerhez csatlakoztatott eszköz nem működik.” Ez akkor fordulhat elő, ha Win16 rendszerű .dll fájlt próbál meg regisztrálni. Például a regsvr32 dskmaint.dll parancs beírásakor ez a hibaüzenet jelenik meg. |
|
A DllRegisterServer (vagy a DllUnregisterServer) a Dll_Name fájlban sikertelen. A visszatérési kód: karakterlánc |
Keresse meg a Winerror.h fájlban az üzenetben megadott karakterláncot. |