Dacă acest articol nu descrie mesajul de eroare primit, puteți obține explicații detaliate privind mesajele de eroare, acțiuni recomandate și resurse de asistență suplimentare de la pagina TechNet Evenimente și erori
Rezumat
Regsvr32 este un utilitar cu linie de comandă pentru înregistrarea şi anularea înregistrărilor comenzilor OLE, precum DLL-uri şi comenzi ActiveX, din Windows Registry. Regsvr32.exe este instalat în folderul %systemroot%\System32 în Windows XP şi versiunile ulterioare de Windows.
Notă Într-o versiune a sistemului de operare Windows pe 64 de biți, există două versiuni ale fișierului Regsv32.exe:
-
Versiunea pe 64 de biţi este %systemroot%\System32\regsvr32.exe.
-
Versiunea pe 32 de biţi este %systemroot%\SysWoW64\regsvr32.exe.
Sintaxa comenzii Regsvr32
RegSvr32.exe are următoarele opțiuni de linie de comandă:
Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>
/u - Anulează înregistrarea serverului
/i - Apelează DllInstall transferându-i un parametru opțional [linie_cmd]; când se utilizează cu /u, apelează dezinstalarea dll
/n - nu apelează DllRegisterServer; această opțiune trebuie utilizează cu /i
/s - Silenţios; nu afişează casete de mesaj
Soluţii comune pentru erori Regsvr32
Încercaţi una dintre următoarele metode, atunci când primiţi o eroare Regsvr32:
-
Metoda 1: Executați din nou comanda Regsvr32 dintr-o linie de comandă cu drepturi sporitePentru a deschide o linie de comandă cu drepturi sporite, urmați acești pași:
Windows 8.1 și Windows 8Trageți degetul dinspre marginea din dreapta a ecranului, apoi atingeți Căutare. Sau, dacă utilizați un mouse, indicați spre colțul din dreapta-jos al ecranului, apoi faceți clic pe Căutare. Tastați Linie de comandă în caseta Căutare, faceți clic dreapta pe Linie de comandă, apoi faceți clic pe Executare ca administrator. Dacă vi se solicită o parolă de administrator sau o confirmare, tastaţi parola sau faceţi clic pe Se permite.
Windows 7 și Windows VistaFaceți clic pe Start, tastați Linie de comandă sau cmd în caseta Căutare, faceți clic dreapta pe Linie de comandă, apoi faceți clic pe Executare ca administrator. Dacă vi se solicită o parolă de administrator sau o confirmare, tastaţi parola sau faceţi clic pe Se permite.
Windows XPFaceți Log on cu un cont de administrator sau un cont care are permisiuni de administrator și apoi deschideți o fereastră Linie de comandă.
-
Metoda 2: Utilizați versiunea pe 32 de biți de Regsvr32 pentru a înregistra un DLL pe 32 de biți pe o versiune de Windows pe 64 de bițiDacă primiți o eroare la înregistrarea unui DLL pe 32 de biți pe o versiune de Windows pe 64 de biți, urmați acești pași:
-
Deschideți o linie de comandă cu drepturi sporite.
-
Dacă DLL-ul pe 32 de biţi se află în folderul %systemroot%\System32, mutaţi-l în folderul %systemroot%\SysWoW64.
-
Executaţi următoarea comandă:
%systemroot%\SysWoW64\regsvr32 <full path of the DLL>
-
Mesajele de eroare regsvr32
Următorul tabel conține mesajele de eroare Regsvr32 și cauzele posibile.
Mesaj de eroare |
Cauză |
---|---|
Marcajul de comandă ""%1"" nu este valid. Verificaţi utilizarea comenzii şi încercaţi din nou. |
S-a introdus o combinaţie nevalidă de opţiuni în linia de comandă din regsvr32.exe. |
Această comandă este valabilă numai dacă s-a deschis un proiect Microsoft Visual Studio OLE Custom Control. |
Regsvr32.exe a fost invocat de Visual Studio, însă nu s-a specificat niciun modul în linia de comandă. |
To register a module, you must provide a binary name. |
Regsvr32.exe a fost invocat fără a specifica module în linia de comandă. |
The command OleInitialize failed to run. Your computer might be low on memory. Close any open programs and then try again. |
Regsvr32 trebuie să inițializeze biblioteca COM înainte de a apela funcțiile bibliotecii COM și să anuleze inițierea bibliotecii la închidere. Aceste mesaje de eroare apar dacă nu reușește o încercare de inițializare sau de anulare a inițializării pentru biblioteca COM. |
The module ""%1"" failed to load.\n\n Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.\n\n%2. |
S-a produs o eroare la încărcarea unui modul specificat în linia de comandă. Textul erorii se afișează ca parte a mesajului. |
The module ""%1"" was loaded but the entry-point %2 was not found.\n\nMake sure that ""%1"" is a valid DLL or OCX file and then try again |
Regsvr32.exe nu a găsit punctul de intrare necesar din modulul specificat în linia de comandă. Acest eveniment se poate produce dacă nu se exportă corect punctele de intrare din modul sau dacă modulul nu este un fișier .DLL sau .OCX. |
The module ""%1"" was loaded but the call to %2 failed with error code %3.\n\nFor more information about this problem, search online using the error code as a search term. |
S-a produs o eroare când regsvr32.exe a invocat punctul de intrare în modulul specificat în linia de comandă. Codul erorii se afișează ca parte a mesajului. |
The module ""%1"" may not compatible with the version of Windows that you're running. Check if the module is compatible with an x86 (32-bit) or x64 (64-bit) version of regsvr32.exe. |
Această eroare se poate produce, de exemplu, dacă regsvr32.exe se execută pe un computer x86 și modulul specificat în linia de comandă este un modul pe 64 de biți. |
Următorul tabel conține mesajele de eroare Regsvr32 şi cauzele posibile:
Mesaj de eroare |
Cauză |
|
---|---|---|
Marcaj nerecunoscut: /invalid_flag |
Aţi tastat o combinaţie nevalidă de marcaje sau switch-uri. |
|
No DLL name specified. |
Nu aţi inclus un nume de fişier .dll. |
|
Dll_Name a fost încărcat, însă punctul de intrare DllRegisterServer sau DllUnregisterServer nu a fost găsit. |
Numele Dll specificat nu este un fişier .dll sau .ocx. De exemplu, tastând regsvr32 wjview.exe se generează acest mesaj de eroare. |
|
Dll_Name nu este un fişier executabil şi nicio aplicaţie de ajutor pentru înregistrare nu este înregistrată pentru acest tip de fişier. |
Numele Dll specificat nu este un fişier executabil (.exe, .dll sau .ocx). De exemplu, tastând regsvr32 autoexec.bat se generează acest mesaj de eroare. |
|
Dll_Name nu este auto-înregistrabil sau în memorie se află o versiune deteriorată. |
De exemplu, tastând regsvr32 icwdial.dll se returnează acest mesaj de eroare, deoarece fişierul Icwdial.dll nu se auto-înregistrează. Dacă suspectaţi că în memorie există o versiune deteriorată a NumeDll, încercaţi să reporniţi computerul sau să extrageţi din nou versiunea originală a fişierului. |
|
OleInitialize a eşuat (sau OleUninitialize a eşuat). |
Regsvr32 trebuie să iniţializeze biblioteca COM înainte de a apela funcţiile bibliotecii COM şi să anuleze iniţierea bibliotecii la închidere. Aceste mesaje de eroare apar dacă nu reușește o încercare de inițializare sau de anulare a inițializării pentru biblioteca COM. De exemplu, fișierul Ole32.dll este posibil să fie deteriorat sau să aibă o versiune greșită. |
|
LoadLibrary("Dll_Name") a eșuat. GetlastError returnează 0x00000485 |
From Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Aceasta înseamnă că „Unul dintre fișierele bibliotecă necesare pentru a executa această aplicație nu poate fi găsit.” De exemplu, tastând regsvr32 missing.dll se returnează acest mesaj de eroare, dacă nu se găseşte fişierul Missing.dll. |
|
LoadLibrary("Dll_Name") a eșuat. GetLastError returnează 0x00000002 |
From Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Aceasta înseamnă că „Sistemul nu poate găsi fișierul specificat.” Cu alte cuvinte, nu s-a găsit un DLL dependent. De exemplu, tastând regsvr32 icwdial.dll cu Tapi32.dll (o dependenţă) lipsă, se returnează acest mesaj de eroare. |
|
LoadLibrary("dskmaint.dll") failed. GetLastError returns 0x000001f |
From Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Aceasta înseamnă că „Un dispozitiv atașat la sistem nu funcționează.” Acest comportament poate apărea dacă încercați să înregistrați un fișier Win16 .dll. De exemplu, tastând regsvr32 dskmaint.dll se returnează acest mesaj de eroare. |
|
DllRegisterServer (sau DllUnregisterServer) în Dll_Name a eșuat. Return code was: șir |
Căutați în fișierul Winerror.h șirul specificat în mesaj. |