Cómo arreglar problemas con DLL's

martes, 6 de enero de 2009

dll image

"Failed while loading fujd43x.dll", "No se ha podido encontrar plos76gh.dll Contacte con el Administrador de Sistemas" y muchos tipos más de mensajes que contienen ese tipo de archivo maldito en Windows llamado DLL (Dinamic Linking Library - Biblioteca de Enlace Dinámico) han aparecido alguna vez en ordenadores de personas que, probando algún programa que recientemente han instalado, hacen algún cambio en él y el programa nos expulsa al escritorio con un sombrío cuadro de diálogo con este tipo de mensajes en su interior, momento en el cual maldecimos a Microsoft, a Windows y a un sin fin más de santos del calendario gregoriano.

Entre el extraño nombre que tiene el archivo en cuestión, donde te quedas pensando "¿Pero quién coño narices le pone el nombre a esta cosa?" y la impotencia que surge, dan ganas de mandar el ordenador a dar un buen paseo a la calle...de una patada.

Pues para tu información, técnicas para solventar este tipo de problemas hay varias: desde descargar la DLL que causa el error en la mítica carpeta C:/Windows/system32 hasta teclear algunos comandos en Inicio > Ejecutar, pasando por insertar el CD de Windows y rezándole a los dioses de varias religiones para que la encuentre, la copie y no vuelva a fallar más.

Pues si sigues leyendo, tras el salto te contaré qué son esos archivos y algunos métodos para tratar de arreglar problemas con DLLs "malignas". ¿Me acompañas? :)

¿Qué es una DLL?

Una DLL (Dinamic Linking Library - Biblioteca de Enlace Dinámico) es un archivo que contiene líneas de código que son ejecutadas cuando el programa lo requiere por parte del sistema operativo. What? Te explico:

Cuando un programa se va a ejecutar, todo su código se carga en memoria para que tú lo puedas usar. El problema surge cuando el programa es muy grande. Si es grande y lo carga todo, una simple aplicación como el MSN (por todos conocido el consumo de memoria que tiene) saturaría tu memoria RAM ya que cargaría las miles de líneas de código fuente en memoria suponiendo que tú vas a acceder a todas y cada una de las opciones que el programa posee. Por tanto, surge la necesidad de crear una serie de políticas o métodos que cargen en memoria el código que necesitas en cada instante y si hay código que no has usado aún no lo cargue (¿para qué queremos tener a nuestra disposición la herramienta de la webcam, si ni siquiera vamos a ir nunca a esa opción?): ese concepto "lógico" (ya que no es algo físico que se pueda tocar) es lo que se denomina archivo DLL.

¿Para qué sirve esta DLL? Microsoft DLL Help Database y Process Library

Microsoft ha creado, y cada día incrementa un poco la información que contiene, una base de datos que contiene información sobre una enorme cantidad de archivos DLL que pululan por nuestros sistemas operativos diariamente.

Tan sólo tendremos que acceder a Microsoft DLL Help Database, especificar el producto (de Microsoft), el idioma y la versión (si la conocemos), así como el nombre de la DLL y nos mostrará información detallada de la DLL en cuestión.

Microsoft DLL Help Database ImageDesgraciadamente, entre los idiomas disponibles no se encuentra el español (aunque la información suministrada si lo esté) y sólo funciona con DLLs de programas de Microsoft.

Pero si tu DLL no pertenece a un programa de la corporación, siempre te queda otro recurso muy usado por el que escribe estas líneas: Process Library.

Process Library es una inmensa base de datos donde podremos buscar nombres de procesos que se estén ejecutando en nuestro PC (yo lo he usado en repetidas ocasiones para comprobar qué es, por si fuera un virus o algo dañino) pero también implementa la posibilidad de buscar DLLs. Esta web tiene como idioma el español, aunque con una pésima traducción literal del inglés (es el problema de los traductores automáticos).

Process Library ImageÚnicamente añadir que esta web contiene algo de publicidad acerca de "escaneos gratuitos del sistema", descarga de herramientas y demás que NO son necesarias. Queda en tu mano el instalarlas o no, pero yo personalmente NO recomiendo la descarga de tales aplicaciones publicitadas.

Arreglando problemas: encuéntrala, descárgala y regístrala en el sistema

Ahora que estamos seguros de qué es lo que hace esa DLL que nos dio el problema, es hora de arreglarla. Para ello, podemos ir a la web dll-files, buscar la DLL en cuestión y descargarla de una manera muy sencilla. Insisto en que esta web también contiene información y herramientas de análisis de DLLs que NO SON NECESARIAS (es más, no las recomiendo demasiado).

dll-files imageUna vez hayamos usado el buscador que se encuentra en el inicio de la web para hallar la DLL, pulsaremos en el enlace "Click here to go to the download of NOMBRE.dll". Se nos abrirá una pequeña ventana donde pulsaremos en "Download NOMBRE.dll" y la descargaremos donde queramos.

Ahora tendremos que registrarla para que nuestro sistema operativo la reconozca como suya y sobreescriba los enlaces internos que tiene con la DLL que está dañada o que no existe. Para ello, iremos a Inicio > Ejecutar, teclearemos "cmd" (sin comillas) y pulsaremos en Aceptar.

La ventana del terminal de comandos de Windows aparecerá ante nuestros ojos, momento en el cual teclearemos lo siguiente:
regsvr32 nombre_de_la_dll
Si hemos descargado el fichero en la ruta c:/descargas/ deberemos escribir
regsvr32 c:/descargas/nombre.dll
Nos saldrán una serie de mensajes. Cuando termine, la DLL estará registrada como parte del sistema operativo y se encontrará arreglada.

¿Arreglaste el problema? ¿Sí? ¿No? Siéntete libre de contárselo al mundo como comentario en este mismo post :)

Artículos relacionados


Clawder por em@il Clawder Feed Twitter

0 comentarios: