¿Qué son los archivos DLL y por qué falta uno en mi PC?

¿Qué son los archivos DLL y por qué falta uno en mi PC?

Cuando recibe un error que indica que Windows no pudo encontrar un archivo DLL en particular, puede ser terriblemente tentador descargar el archivo desde uno de los muchos sitios DLL disponibles. He aquí por qué no debería hacerlo.

¿Qué son las DLL?

Antes de comenzar a explicar por qué no debería descargar archivos de biblioteca de vínculos dinámicos (DLL) de Internet, primero echemos un vistazo a qué son los archivos DLL. Un archivo DLL es una biblioteca que contiene un conjunto de código y datos para realizar una actividad particular en Windows. Las aplicaciones pueden llamar a estos archivos DLL cuando necesiten realizar esta actividad. Los archivos DLL son muy similares a los archivos ejecutables (EXE), excepto que los archivos DLL no se pueden ejecutar directamente en Windows. En otras palabras, no puede hacer doble clic en un archivo DLL para ejecutarlo de la misma manera que lo haría con un archivo EXE. En cambio, los archivos DLL están diseñados para ser llamados por otras aplicaciones. De hecho, están diseñados para ser utilizados por varias aplicaciones al mismo tiempo. La parte de «enlace» del nombre de la DLL también sugiere otro aspecto importante. Se pueden vincular varias DLL entre sí de modo que cuando se llama a una DLL, también se llaman varias otras DLL al mismo tiempo.

El propio Windows hace un uso extensivo de archivos DLL, como un recorrido por C:WindowsSystem32 carpeta puede decirte. Como ejemplo de lo que estamos hablando, considere el archivo de sistema de Windows «comdlg32.dll». Este archivo, también conocido como Biblioteca de diálogo común, contiene código y datos para crear muchos cuadros de diálogo comunes que ve en Windows, cuadros de diálogo para cosas como abrir archivos, imprimir documentos, etc. Las instrucciones en esta DLL manejan todo, desde recibir e interpretar mensajes destinados al cuadro de diálogo hasta especificar cómo se ve el cuadro de diálogo en su pantalla. Obviamente, varias aplicaciones pueden llamar a esta DLL al mismo tiempo; de lo contrario, no podría abrir un cuadro de diálogo (como el que se muestra a continuación) en varias aplicaciones a la vez.

Las DLL permiten modular y reutilizar el código, lo que significa que los desarrolladores no tienen que perder tiempo escribiendo código desde cero para realizar funciones mundanas o comunes. Y aunque los desarrolladores crean sus propias DLL para instalar con sus aplicaciones, la gran mayoría de las DLL llamadas por las aplicaciones en realidad vienen con Windows o con paquetes adicionales, como Microsoft .NET Framework o Microsoft C ++ Redistributables. La otra gran ventaja de modularizar el código de esta manera es que las actualizaciones son más fáciles de aplicar a cada DLL en lugar de a una aplicación completa, especialmente cuando esas DLL no son del desarrollador de la aplicación. Por ejemplo, cuando Microsoft actualiza ciertas DLL en su .NET Framework, todas las aplicaciones que usan esas DLL pueden aprovechar inmediatamente la seguridad o funcionalidad actualizada.

Los archivos DLL descargados pueden estar desactualizados

Entonces, con un poco de comprensión de las DLL en nuestro haber, ¿por qué no descargarlas de Internet cuando falta una en su sistema?

El problema más común que encontrará con los archivos DLL descargados es que no están actualizados. Muchos sitios de DLL obtienen sus DLL simplemente descargándolos de sus propias computadoras o de las de sus usuarios. Probablemente ya pueda ver el problema. La mayoría de estos sitios solo quieren su tráfico, y una vez que se descarga una DLL, tienen pocos incentivos para asegurarse de que el archivo esté actualizado. Agregue a eso que los proveedores generalmente no lanzan archivos DLL actualizados al público como archivos individuales, y puede ver que incluso los sitios que intentan mantener los archivos actualizados probablemente no tengan mucho éxito.

También existe el problema adicional de que los archivos DLL suelen estar integrados en paquetes. Una actualización de una DLL en un paquete a menudo viene con actualizaciones de otras DLL relacionadas en el mismo paquete, lo que significa que incluso en el caso poco probable de que obtenga un archivo DLL actualizado, no obtendrá ningún archivo relacionado que tenga también se ha actualizado.

Los archivos DLL descargados pueden estar infectados

Si bien es menos común, un problema potencialmente mucho peor es que las DLL que descarga de fuentes distintas del proveedor a veces pueden estar cargadas con virus u otro malware que puede infectar su PC. Esto es especialmente cierto en los sitios que no son demasiado cuidadosos con el lugar de donde obtienen sus archivos. Y no es que estos sitios vayan a hacer todo lo posible para informarle sobre sus fuentes de riesgo. La parte realmente aterradora es que si descarga un archivo DLL infectado, corre el riesgo, por la propia naturaleza de los archivos DLL, de darle a ese archivo un acceso más profundo del que podría obtener un archivo infectado normal.

La buena noticia aquí es que una buena aplicación antivirus en tiempo real generalmente puede detectar estos archivos DLL infectados antes de que realmente se guarden en su sistema y evitar que causen daños. Sin embargo, debe recordar que incluso un buen programa antivirus puede no brindarle la protección perfecta. Si tiene el hábito de descargar archivos peligrosos, es probable que en algún momento le alcancen. Es mejor evitar estos sitios DLL.

Probablemente no solucionarán su problema de todos modos

Si bien es posible que solo un archivo DLL en su PC haya sido dañado o eliminado, es más probable que otros archivos DLL o de aplicación relacionados también estén dañados o falten. La razón por la que recibe un error sobre un archivo en particular es porque es el primer error que encuentra una aplicación antes de fallar, y usted simplemente no está al tanto del resto. Esto puede ser cierto independientemente de la causa del problema.

¿Por qué las DLLs pueden desaparecer o corromperse? Es posible que otra aplicación o actualización defectuosa haya intentado reemplazar el archivo y haya fallado, o lo haya reemplazado con una copia desactualizada. Podría ser un defecto en la instalación de su aplicación principal o en un paquete como .NET. Incluso puede tener algún otro problema, como sectores defectuosos en su disco duro, que impiden que el archivo se cargue correctamente.

¿Cómo puedo corregir mi error de DLL?

La única forma de asegurarse de obtener una DLL estable, actualizada y limpia es ejecutarla a través de la fuente de la que proviene. Normalmente, esta fuente será:

  • Su medio de instalación de Windows. Es poco probable que pueda simplemente copiar un archivo DLL desde su medio de instalación, pero tiene una opción rápida para probar antes de hacer algo tan drástico como reinstalar Windows. Puede utilizar la herramienta de protección de recursos de Windows (a menudo denominada Comprobador de archivos de sistema o SFC), que buscará y solucionará archivos de sistema dañados o faltantes en Windows. Debe tener su medio de instalación a mano cuando ejecute la herramienta, en caso de que necesite copiar un archivo desde allí. (Si no tiene un disco de instalación, puede descargar uno aquí).
  • Paquetes de Microsoft .NET Framework. Varias versiones de .NET se instalan automáticamente con Windows y muchas aplicaciones también instalan archivos de estos paquetes. Puede leer nuestro artículo sobre .NET Framework, que también incluye sugerencias para encontrar y solucionar problemas relacionados.
  • Varios paquetes redistribuibles de Microsoft Visual C ++. Dependiendo de las aplicaciones que esté utilizando, varias versiones de C ++ Redistributable pueden estar instaladas en su PC. A veces puede ser difícil determinar cuál es el culpable, pero un buen lugar para comenzar es nuestro artículo sobre C ++ Redistribuibles, que también tiene varios pasos de solución de problemas y enlaces donde puede descargar las versiones más recientes directamente de Microsoft.
  • La aplicación suministrada con la DLL. Si la DLL se instaló con una aplicación en lugar de ser parte de un paquete separado, su mejor opción es simplemente reinstalar la aplicación. Algunas aplicaciones le permiten realizar una reparación en lugar de una reinstalación completa. Cualquiera de las opciones debería funcionar, ya que una reparación generalmente busca archivos faltantes en las carpetas de instalación.

Si todo lo demás falla, es posible que pueda comunicarse con el proveedor de la aplicación y solicitar una copia de un archivo DLL individual. Algunas empresas están abiertas a esta solicitud; algunos no lo son. Si se encuentra con una empresa que no proporciona archivos individuales, al menos pueden ofrecerle otras sugerencias para resolver su problema.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas