Cómo registrar una DLL en Windows

Cómo registrar una DLL en Windows

Los usuarios preguntan cómo registrar un archivo dll en Windows 7 y 8. Por lo general, después de encontrar errores como «El programa no puede ejecutarse porque falta la dll requerida en el ordenador». De esto es de lo que vamos a hablar.

En realidad, registrar una biblioteca en el sistema no es una tarea tan difícil (mostraré hasta tres variaciones de un método) – de hecho, sólo se requiere un paso. El único requisito es tener derechos de administrador de Windows.

Sin embargo, hay algunos matices – por ejemplo, incluso el registro exitoso de DLL no necesariamente te salva del error «la biblioteca falta en el equipo», y la aparición de error RegSvr32 con el mensaje de que el módulo no es compatible con la versión de Windows en este equipo o el punto de entrada DLLRegisterServer no se encuentra, no significa que usted hace algo mal (sobre lo que dice se explicará al final del artículo).

Tres formas de registrar una DLL en el sistema operativo

Al describir los siguientes pasos, asumo que has encontrado dónde copiar tu biblioteca y que la DLL ya se encuentra en la carpeta System32 o SysWOW64 (y posiblemente en algún otro lugar, si es que debe estar allí).

Nota: a continuación se describe cómo registrar la DLL utilizando regsvr32.exe, pero tenga en cuenta que si tiene un sistema de 64 bits, tiene dos regsvr32.exe – uno en la carpeta C:WindowsSysWOW64 y otro en C:WindowsSystem32. Y son archivos diferentes, el de 64 bits está en la carpeta System32. Le recomiendo que utilice la ruta completa a regsvr32.exe en cada uno de los métodos y no sólo el nombre del archivo, como se muestra en mis ejemplos.

El primer método se describe en Internet con más frecuencia que los demás y consiste en lo siguiente:

  • Pulsa Windows + R o desde el menú de Inicio de Windows 7, selecciona Ejecutar (si lo tienes activado, claro).
  • Entre en regsvr32.exe ruta_al_archivo_dll
  • Pulse OK o Enter.

Después, si todo ha ido bien, debería ver un mensaje diciendo que la biblioteca se ha registrado con éxito. Pero, lo más probable es que vea otro mensaje – Módulo cargado pero no se encontró el punto de entrada DllRegisterServer y debe comprobar que su DLL es el archivo correcto (sobre esto, como he dicho, escribiré más tarde).

La segunda forma es ejecutar la línea de comandos como administrador e introducir el mismo comando del punto anterior.

  • Ejecute el símbolo del sistema como administrador. En Windows 8, puede pulsar Win+X y luego seleccionar el elemento de menú deseado. En Windows 7, puede encontrar el símbolo del sistema en el menú Inicio, hacer clic con el botón derecho y seleccionar Ejecutar como administrador.
  • Introduzca el comando regsvr32.exe ruta_a_la_biblioteca_dll (puede ver un ejemplo en la captura de pantalla).

De nuevo, probablemente no podrás registrar la DLL en el sistema.

Un último método, que también puede ser útil en algunos casos:

  • Haga clic con el botón derecho del ratón en la DLL que desea registrar y seleccione la opción de menú «Abrir con».
  • Haga clic en «Examinar» y localice el archivo regsvr32.exe en la carpeta Windows/System32 o Windows/SysWow64, abra la DLL con él.

La esencia de todas las formas descritas para registrar DLL en el sistema es la misma, sólo ligeramente diferentes maneras de ejecutar el mismo comando – lo que es más conveniente para alguien. Y ahora sobre por qué no puedes conseguir que nada funcione.

Por qué no puedo registrar una DLL

Así que, te falta algún archivo DLL, lo que hace que veas un error al lanzar un juego o programa, has descargado este archivo de Internet y tratas de registrarlo, pero o bien el punto de entrada DllRegisterServer, o el módulo no es compatible con la versión actual de Windows, o tal vez algo más, es decir el registro de DLL es imposible.

Por qué ocurre esto (también habrá más información sobre cómo solucionarlo):

  • No todos los archivos DLL están diseñados para ser registrados. Debe tener soporte de esa misma función DllRegisterServer para poder registrarlo de esta manera. A veces el error también se debe a que la biblioteca ya está registrada.
  • Algunos sitios que ofrecen la descarga de una DLL contienen, de hecho, archivos ficticios con el nombre que usted busca y no pueden ser registrados ya que no se trata realmente de una biblioteca.

Ahora vamos a ver cómo se soluciona esto:

  • Si eres programador y registras tu DLL, prueba con regasm.exe
  • Si eres un usuario y algo no se ejecuta con el mensaje de que falta un DLL en tu ordenador, busca en Internet cuál es el archivo, no dónde descargarlo. Normalmente, sabiendo esto, puedes descargar un instalador oficial que instalará las librerías originales y las registrará en el sistema – por ejemplo, para todos los archivos con un nombre que empiece por d3d sólo tienes que poner DirectX desde el sitio oficial de Microsoft, para msvc – una de las versiones de Visual Studio Redistributable. (Y si no arranca algún juego desde el torrent, entonces mira los informes del antivirus, podría eliminar la DLL necesaria, suele pasar con algunas librerías modificadas).
  • Normalmente, en lugar de registrar la DLL funciona poniendo el archivo en la misma carpeta que el ejecutable exe que requiere esa librería.

Concluyo aquí, espero que algo quede más claro de lo que estaba.