Què cal saber
- Per registrar un fitxer DLL myfile.dll, introduïu regsvr32 myfile.dll i, per anul·lar-lo, escriviu r egsvr32 /u myfile.dlla la línia d'ordres.
- Si obteniu un error quan intenteu registrar un fitxer DLL, és possible que no tingueu els permisos correctes o que el fitxer estigui bloquejat.
- Altres errors poden ser deguts a una dependència que f alta; si és així, utilitzeu Dependency Walker per veure totes les dependències que requereix el fitxer DLL.
Aquest article explica com utilitzar l'eina de línia d'ordres regsvr32 a Windows i com corregir alguns errors regsvr32. Regsvr32 s'utilitza per registrar i anul·lar el registre dels controls d'enllaç i incrustació d'objectes (OLE), com ara els fitxers DLL i el control ActiveX. Fitxers OCX. És possible que hàgiu de registrar un fitxer DLL si veieu un error de DLL a l'ordinador.
Com registrar i anul·lar el registre d'un fitxer DLL
Si les referències del Registre de Windows que fan referència al fitxer DLL s'eliminen o es corrompen d'alguna manera, els programes que necessiten utilitzar aquest fitxer DLL poden deixar de funcionar. És quan aquesta associació amb el registre es trenca que s'ha de registrar un fitxer DLL.
El registre d'un fitxer DLL s'aconsegueix normalment reinstal·lant el programa que el va registrar en primer lloc. De vegades, però, és possible que hàgiu de registrar el fitxer DLL manualment mitjançant el símbol del sistema.
Consulteu el nostre tutorial sobre com obrir el símbol del sistema si no esteu segur de com trobar-lo.
Aquesta és la manera correcta d'estructurar una ordre regsvr32:
regsvr32 [/u] [/n] [/i[:cmdline]
Per exemple, introduïu aquesta primera ordre per registrar un fitxer DLL anomenat myfile.dll, o la segona per anul·lar-ne el registre:
regsvr32 myfile.dll
regsvr32 /u myfile.dll
No totes les DLL es poden registrar amb només introduir l'ordre anterior en un símbol del sistema. És possible que primer hàgiu de tancar el servei o el programa que utilitza el fitxer.
Com corregir els errors habituals de Regsvr32
Aquí hi ha un error que podeu veure quan intenteu registrar un fitxer DLL:
El mòdul s'ha carregat però la trucada a DllRegisterServer ha fallat amb el codi d'error 0x80070005.
Aquest és normalment un problema de permís. Si l'execució d'un símbol del sistema elevat encara no us permet registrar el fitxer DLL, és possible que el fitxer en si estigui bloquejat. Comproveu la secció Seguretat de la pestanya General a la finestra Propietats del fitxer.
Un altre possible problema podria ser que no tingueu els permisos correctes per utilitzar el fitxer.
Un missatge d'error similar està redactat com el següent. Aquest error normalment significa que la DLL no s'utilitza com a DLL COM per a cap aplicació de l'ordinador, la qual cosa significa que no cal registrar-la.
El mòdul s'ha carregat però no s'ha trobat el punt d'entrada DllRegisterServer.
Aquí hi ha un altre missatge d'error regsvr32:
El mòdul no s'ha pogut carregar. Assegureu-vos que el binari estigui emmagatzemat al camí especificat o depureu-lo per comprovar si hi ha problemes amb els fitxers. DLL binaris o dependents. No s'ha pogut trobar el mòdul especificat.
Aquest error en particular pot ser degut a una dependència que f alta, en aquest cas podeu utilitzar Dependency Walker per veure una llista de totes les dependències que requereix el fitxer DLL, ja que pot ser que en f alti una que necessiteu tenir per ordre. perquè la DLL es registri correctament.
A més, assegureu-vos que el camí del fitxer DLL estigui escrit correctament. La sintaxi de l'ordre és molt important; es pot generar un error si no s'introdueix correctament.
És possible que alguns fitxers DLL hagin de tenir la seva ubicació envoltada entre cometes com aquesta:
"C:\Usuaris\Usuari administrador\Programes\myfile.dll"
On està emmagatzemat Regsvr32.exe?
Les versions de Windows de
de 32 bits (XP i més recents) afegeixen l'eina Microsoft Register Server a aquesta carpeta quan s'instal·la Windows per primera vegada: %systemroot%\System32\.
Les versions de
de 64 bits de Windows emmagatzemen el fitxer regsvr32.exe no només allà, sinó també aquí: %systemroot%\SysWoW64\.