Los controles OLE, como archivos DLL o controles ActiveX (OCX), deben estar registrados. Al registrar un control OLE se actualiza el Registro de Windows con la ubicación y las funciones del archivo de modo que el programa se ejecute correctamente.
Para solucionar algunos problemas con Windows, Microsoft Internet Explorer u otros programas, puede utilizar la herramienta Regsvr32 (Regsvr32.exe) para registrar y anular el registro de controles OLE.
Por ejemplo, en el artículo siguiente de Microsoft Knowledge Base se requiere que utilice Regsvr32.exe para anular el registro del control Wuv3is.dll antes de reinstalarlo desde el sitio de Windows Update:
241122
(http://support.microsoft.com/kb/241122/es/
)
Windows Update: Operación ilegal o error en la aplicación al hacer clic en Actualizaciones del producto
Si el registro de un control no se realiza correctamente o si desea información para programadores acerca de cómo solucionar los problemas con el registro incorrecto de un control OLE, consulte el artículo de Microsoft Knowledge Base
140346
(http://support.microsoft.com/kb/140346/es/
)
Posibles razones del error en el registro del control OLE
Regsvr32.exe se incluye con Microsoft Internet Explorer 3.0 o versiones posteriores, Windows 95 OEM Service Release 2 (OSR2) o versiones posteriores, y Windows NT 4.0 Service Pack 5 (SP5) o versiones posteriores. Regsvr32.exe se instala en la carpeta System (Windows Millennium Edition/Windows 98/Windows 95) o en System32 (Windows NT/Windows XP/Windows Vista/Windows 7).
Contraer esta imagenAmpliar esta imagen
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.
Uso de Regsvr32.exe
RegSvr32.exe presenta las opciones de línea de comandos siguientes:
Haga clic aquí para mostrar u ocultar la solución Regsvr32 [/u] [/n] [/i[:cmdline]] dllname
/u - Eliminar del 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 (se agrega con Windows XP y Windows Vista)
Cuando se utiliza Regsvr32.exe, esta herramienta intenta cargar el componente y llama a su función
DLLSelfRegister. Si este intento tiene éxito, Regsvr32.exe muestra un cuadro de diálogo que lo indica. Si el intento no tiene éxito, Regsvr32.exe devuelve un mensaje de error. Esto puede incluir un código de error de Win32.
Para obtener más información al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
193625
(http://support.microsoft.com/kb/193625/es/
)
Códigos de error de WinInet (del 12001 al 12156)
Por ejemplo, para registrar manualmente un control ActiveX de Sample.ocx, escriba el comando siguiente en un símbolo del sistema:
c:\regsvr32.exe sample.ocx
Mensajes de error de Regsvr32.exe en Windows Vista y versiones posteriores
La siguiente lista contiene los mensajes de error de RegSvr32 y sus posibles causas:
Haga clic aquí para mostrar u ocultar la solución - 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 modulo especificado en la línea de comandos. El texto del 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.
Mensajes de error de Regsvr32.exe en versiones de Windows anteriores a Windows Vista
La siguiente lista contiene los mensajes de error de RegSvr32 y sus posibles causas:
Haga clic aquí para mostrar u ocultar la solución - Indicador desconocido: /indicador_no_válido
Escribió una combinación no válida de indicadores o modificadores (consulte la sección "Uso de Regsvr32.exe" en este artículo).
- No se especificó ningún nombre de DLL.
No incluyó un nombre de archivo .dll (consulte la sección "Uso de Regsvr32.exe" en este artículo).
- 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 se cargó, pero no se encontró el punto de entrada de DllRegisterServer o de DllUnregisterServer.
El nombre de Dll especificado no se puede exportar o puede que la memoria contenga una versión dañada de dicho nombre. Una posibilidad es usar Pview para detectar el archivo y quitarlo.
- 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. Si ejecuta Windows NT, puede que tenga que usar la herramienta Kill o Pview del Kit de recursos de Microsoft Windows NT Server 4.0. Para obtener más información, consulte el artículo
197155 de Microsoft Knowledge Base: Cómo eliminar un proceso huérfano
(http://support.microsoft.com/kb/197155/es)
- 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: string
Busque en el archivo Winerror.h la cadena que se especifica en el mensaje.
Id. de artículo: 249873 - Última revisión: martes, 29 de enero de 2013 - Versión: 13.0
La información de este artículo se refiere a:
- Windows Vista Enterprise
- Windows Vista Business
- Windows Vista Business N 64-bit Edition
- Windows Vista Home Basic
- Windows Vista Home Basic N
- Windows Vista Home Basic N 64-bit Edition
- Windows Vista Home Premium
- Windows Vista Starter
- Windows Vista Ultimate
- Windows Vista Business N
- Windows Vista Business 64-bit edition
- Microsoft Windows XP Home Edition
- Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
- Microsoft Windows XP Professional
- Microsoft Windows XP Professional N
- Microsoft Windows XP Home Edition N
- Microsoft Windows XP Tablet PC Edition
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
- Microsoft Windows 95
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 4.0 Standard Edition
- Windows 7 Enterprise
- Windows 7 Home Basic
- Windows 7 Home Premium
- Windows 7 Professional
- Windows 7 Starter
- Windows 7 Ultimate
- Windows 7 Enterprise N
- Windows 7 Home Premium N
- Windows 7 Professional N
- Windows 7 Starter N
- Windows 7 Ultimate N
| kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873 |