Cómo utilizar la herramienta Regsvr32 y solucionar problemas de mensajes de error de Regsvr32

Si en este artículo no se describen los mensajes de error que le aparecen, puede obtener explicaciones detalladas de mensajes de error, acciones recomendadas y recursos adicionales de soporte técnico en la página Eventos y errores de TechNet. 

Resumen

Regsvr32 es una utilidad de línea de comandos para registrar o para anular el registro de los controles OLE, como controles DLL y ActiveX en el Registro de Windows. Regsvr32.exe se instala en la carpeta %systemroot%\System32 en Windows XP y en versiones anteriores de Windows.


Nota En una versión de 64 bits del sistema operativo Windows, hay dos versiones del archivo Regsv32.exe:

  • La versión de 64 bits es %systemroot%\System32\regsvr32.exe.

  • La versión de 32 bits es %systemroot%\SysWoW64\regsvr32.exe.

Sintaxis del comando Regsvr32

RegSvr32.exe tiene las opciones de línea de comandos siguientes:

Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>

/u - Anular registro el servidor

/i - Llamar a DllInstall y pasarle un parámetro opcional [cmdline]; cuando se utiliza con /u, llama a las dll de desinstalación
/n - No llamar a DllRegisterServer; esta opción se debe utilizar con /i

/s – Silencioso, no mostrar ningún cuadro de mensaje

Soluciones comunes a los errores de Regsvr32

Pruebe uno de los métodos siguientes cuando reciba un error de Regsvr32:

  • Método 1: Vuelva a ejecutar el comando de Regsvr32 desde un símbolo del sistema con privilegios elevados:Para abrir un símbolo del sistema con privilegios elevados, siga estos pasos:

    Windows 8.1 y Windows 8Deslice el dedo rápidamente desde el borde derecho de la pantalla y pulse Buscar. O bien, si usa un mouse, señale el extremo inferior derecho de la pantalla y haga clic en Búsqueda. Escriba Símbolo del sistema en el cuadro Búsqueda, haga clic con el botón derecho en Símbolo del sistema y luego haga clic en Ejecutar como administrador. Si se le pide una contraseña de administrador o que confirme la acción, escriba la contraseña o haga clic en Permitir.

    Windows 7 y Windows VistaHaga clic en Inicio, escriba Símbolo del sistema o cmd en el cuadro Buscar, haga clic con el botón derecho en Símbolo del sistema y luego haga clic en Ejecutar como administrador. Si se le pide una contraseña de administrador o que confirme la acción, escriba la contraseña o haga clic en Permitir.

    Windows XPInicie sesión con una cuenta de administrador o una cuenta que disponga de permisos de administrador y luego abra la ventana Símbolo del sistema.

  • Método 2: Usar la versión de 32 bits de Regsvr32 para registrar un archivo DLL de 32 bits en una versión de 64 bits de WindowsSi aparece un error al registrar un archivo DLL de 32 bits en una versión de 64 bits de Windows, siga estos pasos:

    1. Abra un símbolo del sistema con privilegios elevados.

    2. Si el archivo DLL de 32 bits se encuentra en la carpeta %systemroot%\System32, muévalo a la carpeta %systemroot%\SysWoW64.

    3. Ejecute el comando siguiente:

      %systemroot%\SysWoW64\regsvr32 <full path of the DLL>

Mensajes de error de Regsvr32

En la siguiente tabla se incluyen los mensajes de error de RegSvr32 y sus posibles causas:

Mensaje de error

Causa

El marcador de comando ""%1"" no es válido. Revise el uso del comando e inténtelo de nuevo.

Se pasó una combinación no válida de opciones en la línea de comandos a regsvr32.exe.

Este comando sólo es válido si se abre un proyecto de control Activex de Microsoft Visual Studio OLE.

Visual Studio invocó a Regsvr32.exe pero no se especificó ningún módulo en la línea de comandos.

Para registrar un módulo, debe proporcionar un nombre binario.

Regsvr32.exe se invocó sin especificar ningún módulo en la línea de comandos.

Error al ejecutar el comando OleInitialize. Puede que el equipo no tenga suficiente memoria. Cierre todos los programas abiertos e inténtelo de nuevo.

Regsvr32 debe inicializar la biblioteca COM para poder llamar a las funciones de las bibliotecas COM necesarias y revertir la inicialización de la biblioteca cuando se cierra. Estos mensajes de error se producen si se intenta inicializar o revertir la inicialización de la biblioteca COM y no se consigue.

Error al cargar el módulo ""%1"".\n\n Asegúrese de que el archivo binario esté almacenado en la ruta de acceso especificada o depúrelo para comprobar si hay problemas en el archivo binario o los archivos .DLL dependientes.\n\n%2.

Error al cargar un módulo que se especificó en la línea de comandos. El texto del error aparece como parte del mensaje.

Se cargó el módulo""%1"", pero no se encontró el punto de entrada %2. \n\nAsegúrese de que ""%1"" es un archivo DLL u OCX válido e inténtelo de nuevo.

Regsvr32.exe no pudo encontrar el punto de entrada necesario en el módulo especificado en la línea de comandos. Esto puede ocurrir si los puntos de entrada no se exportan correctamente desde el módulo, o si el módulo no es un archivo .DLL u .OCX.

Se cargó el módulo" "%1"", pero se produjo un error en la llamada a %2 (código de error %3).\n\nPara obtener más información acerca de este problema, realice una búsqueda en Internet con el código de error como término de búsqueda.

Error cuando Regsvr32.exe invocó el punto de entrada en el módulo especificado en la línea de comandos. El código de error aparece como parte del mensaje.

El módulo" "% 1"" puede no ser compatible con la versión de Windows que está ejecutando. Compruebe si el módulo es compatible con una versión x86 (de 32 bits) o x64 (de 64 bits) de regsvr32.exe.

Por ejemplo, este error puede suceder si regsvr32.exe se ejecuta en un equipo x86 y el módulo especificado en la línea de comandos es de 64 bits.


En la siguiente tabla se incluyen los mensajes de error de RegSvr32 y sus posibles causas:

Mensaje de error

Causa

Indicador desconocido: /invalid_flag

Escribió una combinación no válida de indicadores o modificadores.

No se especificó ningún nombre de DLL.

No se especificó ningún nombre de archivo .dll.

Dll_Name se cargó, pero no se encontró el punto de entrada de DllRegisterServer o de DllUnregisterServer.

El nombre de Dll especificado no es un archivo .dll u .ocx. Por ejemplo, este mensaje de error se genera al escribir regsvr32 wjview.exe.

Dll_Name no es un archivo ejecutable y no existe ayuda de registro para este tipo de archivo.

El nombre de Dll especificado no es un archivo ejecutable (.exe, .dll o .ocx). Por ejemplo, este mensaje de error se genera el escribir regsvr32 autoexec.bat.

Dll_Name no se puede registrar a sí mismo o la memoria contiene una versión dañada.

Por ejemplo, este mensaje de error se devuelve al escribir regsvr32 icwdial.dll porque el archivo Icwdial.dll no se puede registrar a sí mismo. Si sospecha que hay una versión dañada de Dllname en la memoria, pruebe a reiniciar el equipo o vuelva a extraer la versión original del archivo.

Error de OleInitialize (o de OleUninitialize)

Regsvr32 debe inicializar la biblioteca COM para poder llamar a las funciones de las bibliotecas COM necesarias y revertir la inicialización de la biblioteca cuando se cierra. Estos mensajes de error se producen si se intenta inicializar o revertir la inicialización de la biblioteca COM y no se consigue. Por ejemplo, el archivo Ole32.dll puede estar dañado o puede que la versión sea incorrecta.

Error de LoadLibrary("Dll_Name"). GetlastError devuelve 0x00000485

Desde Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Esto significa que uno de los archivos de biblioteca necesarios para ejecutar esta aplicación no se encuentra. Por ejemplo, al escribir regsvr32 missing.dll, se devuelve este mensaje de error si no se encuentra el archivo Missing.dll.

Error de LoadLibrary("Dll_Name"). GetLastError devuelve 0x00000002

Desde Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Esto significa que el sistema no encuentra el archivo especificado. En otras palabras, no se encontró una DLL dependiente. Por ejemplo, si se escribe regsvr32 icwdial.dll y no está Tapi32.dll (una dependencia), se devuelve este mensaje de error.

Error de LoadLibrary ("dskmaint.dll"). GetLastError devuelve 0x000001f

Desde Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Esto significa que uno de los dispositivos conectados al sistema no funciona. Este comportamiento puede producirse si intenta registrar un archivo Win16 .dll. Por ejemplo, al escribir regsvr32 dskmaint.dll, se devuelve este mensaje de error.

Error de DllRegisterServer (o DllUnregisterServer) en Dll_Name. El código devuelto es: cadena

Busque en el archivo Winerror.h la cadena que se especifica en el mensaje.


¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×