Windows: Registrar DLL OCX

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

Windows: Registrar DLL OCX

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

Windows: Registrar DLL OCX

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:

Windows: Registrar DLL OCX

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

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

1 comentario:

  1. regasm estaria bueno como complemento en este articulo

    ResponderEliminar