En este post veremos distintas formas de registrar librerías DLL y controles OCX en entornos Windows.
Windows registrar DLL, OCX: ¿Qué son?
La definición de DLL es una biblioteca de enlace dinámico en inglés: dynamic-link library.
La idea es que los programas utilicen bibliotecas para reducir el tamaño de los ejecutables y que puedan ser compartidas por distintas aplicaciones.
Los OCX, en inglés: OLE Control Extension, son módulos y funciones de programas de Windows.
No todas las DLL requieren registrarse, simplemente en que se ubiquen en una ruta situada en el path, pueden ser llamadas por aplicaciones, en cambio hay DLLs que sí es necesario que se registren para almacenar información como CLSID en el registro de Windows.
Windows registrar DLL, OCX: ¿Cómo se registran/desregistran? - regsvr32.exe
Para registrar DLLs disponemos del comando:
regsvr32.exe
El comando regsvr32.exe intentará cargar la librería utilizando la función: DllRegisterServer()
regsvr32.exe, si el sistema operativo es de 64bits, lo encontraremos en dos ubicaciones:
Compilado a 64 bits:
C:\Windows\system32
Compilado a 32 bits:
C:\Windows\SysWOW64
Por tanto si queremos registrar DLLs de 64 bits, utilizaremos el regsvr32.exe que se ubica en: C:\Windows\system32
No existe como tal el ejecutable: regsvr64.exe
Podemos ver si nuestro sistema operativo es de 32 bits o 64bits revisando los métodos mostrados en el siguiente enlace:
Windows: Como saber si es de 32 o 64 bits (SYSADMIT.com)
Veamos un ejemplo para registrar una DLL:
regsvr32 C:\Windows\system32\msxml6.dll
El resultado de la ejecución es: DLLRegisterServer se realizó correctamente en y la ruta de la DLL.
Podemos desregistrarla, ejecutando:
regsvr32 /u C:\Windows\system32\msxml6.dll
El resultado de la ejecución es: DLLUnregisterServer se realizó correctamente en y la ruta de la DLL.
Windows registrar DLL, OCX: Modo silencioso - regsvr32.exe
El comando regsvr32.exe dispone del modo silencioso.
El modo silencioso, ejecutará la acción de registrar o desregistar una DLL o OCX sin mostrar ninguna ventana por pantalla.
Esto es muy útil de cara a automatizar con scripts el registro o desregistro de librerías.
Para ejecutar regsvr32.exe en modo silencioso bastará con añadir el parámetro: /s
Es importante tener en cuenta que el modo silencioso con el parámetro /s, esconde también los errores.
Windows registrar DLL, OCX: Modo silencioso, pero muestra errores - regsvr32.exe
Existe un parámetro no documentado que es el: /e
Con el /e, elimina los mensajes informativos pero muestra los mensajes de error.
Fijemonos en el siguiente ejemplo:
1) Registramos una DLL con el parámetro /e y no muestra ninguna información por pantalla: Todo ha ido bien.
2) Registramos una DLL con el parámetro /e y da error, este error es mostrado por pantalla.
Si repasamos la ayuda del comando regsvr32.exe, ejecutando: regsvr32.exe /?, no veremos información acerca del parámetro: /e
Windows registrar DLL, OCX: Mas información y ejemplos
Windows: Saber que DLL utiliza un programa (SYSADMIT.com)
Windows: Error comdlg32.ocx mscomctl.ocx (SYSADMIT.com)
Windows registrar DLL, OCX: Video
A continuación, disponemos del siguiente vídeo, donde podemos ver el detalle de funcionamiento de forma visual:
Podéis examinar y suscribiros al canal de Youtube de SYSADMIT en el siguiente enlace:
https://www.youtube.com/c/SYSADMIT
regasm estaria bueno como complemento en este articulo
ResponderEliminar