Inicio de DescargasbuscarContactarForos

Inicio de Descargas arrow FAQs arrow DLL Hell
DLL Hell Imprimir E-Mail
Monday, 17 de September de 2007

El término DLL Hell (infierno de las DLLs) se refiere a los problemas ocasionados por las DLLs (Bibliotecas de enlace dinámico).

Estas bibliotecas consisten en un conjunto de código común que puede estar compartido entre varias aplicaciones. En Windows estas bibliotecas están muy extendidas y son compartidas por múltiples aplicaciones (por ejemplo, la MFC está compartida por prácticamente todas las aplicaciones gráficas). De esta compartición de código surgen dos problemas que constituyen el "infierno":

Al instalar un programa se reemplaza una DLL por otra versión incompatible (conflicto de versiones)
Al desinstalar un programa se borra una DLL compartida
En ambos casos los programas que compartan la DLL dejarán de funcionar con los consiguientes trastornos que supone.

 

El término DLL Hell (infierno de las DLLs) se refiere a los problemas ocasionados por las DLLs (Bibliotecas de enlace dinámico).

Estas bibliotecas consisten en un conjunto de código común que puede estar compartido entre varias aplicaciones. En Windows estas bibliotecas están muy extendidas y son compartidas por múltiples aplicaciones (por ejemplo, la MFC está compartida por prácticamente todas las aplicaciones gráficas). De esta compartición de código surgen dos problemas que constituyen el "infierno":

Al instalar un programa se reemplaza una DLL por otra versión incompatible (conflicto de versiones)
Al desinstalar un programa se borra una DLL compartida
En ambos casos los programas que compartan la DLL dejarán de funcionar con los consiguientes trastornos que supone.


 Soluciones 

 

Existe un conjunto de soluciones manuales para evitar estos problemas:

Incorporar el número de versión a las DLLs para evitar sobrescribirlas con versiones incompatibles: Este sistema se usa en la MFC y podemos encontrar, por ejemplo, las bibliotecas MFC41.dll y MFC70.dll en el mismo sistema. El problema es que al final existen varias versiones de las DLLs instaladas aunque en la actualidad no supone un gran trastorno debido a la capacidad de los discos.
Fijar el comportamiento y no permitir modificaciones en el mismo: De esta forma se evitaría la existencia de DLLs no compatibles.
Las versiones más modernas de Windows proponen soluciones automáticas para el problema (mayor control del versionado, petición al usuario de qué DLL quiere mantener...) pero las antiguas instalaciones siguen corrompiendo las DLLs. Por ello se han planteado dos soluciones:

Scripts de instalación MSI: se trata de pequeñas bases de datos que indican qué ficheros y versiones instala una aplicación. De esta forma es posible determinar qué versiones son compatibles y cuales no o volver a instalar versiones en el caso de instalaciones corruptas.
Ensamblados: Es un concepto que aparece con .NET y consiste en un fragmento de código ejecutable (DLL o EXE) junto a un fichero (que puede estar incorporado como recurso en el fichero) que indica qué contiene, versiones... De esta forma es posible instalar varias versiones diferentes del mismo ensamblado y cargar la que necesita cada programa usando esa información.


Comentarios (9)Add Comment
...
escrito por marcos, April 29, 2008
mefalta y lo quiero smilies/grin.gif
...
escrito por luis enerio, June 15, 2008
mi madre pero esto es una desgracia generalizada ya que eso datos sobre la dll lo suministra un experto en sistema y yo me pregunto y aquellos que no sabemos de computadora y que no conocemos todo esto sobre la dll nos llevara el mismisimo diablo porque no contamos con esos conocimientos a dios y quiero que sepan que me despido llorando por todo esto que es leido sobre la dll smilies/cry.gif smilies/cry.gif smilies/cry.gif
...
escrito por Liz, July 15, 2008
Hola, pucha sip toy tratando de entender porque michica no puedo descargar google earth, porque sale un error en mi máquina sobre los DLL y me encuentro con éste texto técnico que no entiendo ni papas...buuu, creo que mejor me compro una pc nueva, y busco a un técnico!!!!!! smilies/tongue.gif
...
escrito por andres, July 18, 2008
se puede reemplazar un DLL,como necesito su ayuda panitas
...
escrito por sonia villacis, August 22, 2008
Estoy muy trste x que me pasa lomismo que a los amigos que escrivieron y no puedo navegar con google me sale error
...
escrito por miguel, August 24, 2008
por favor indiquenme como reinstalar dac32.dll. muchas gracias
...
escrito por JOSE DE JESUS SANCHEZ SILVA, September 17, 2008
LES PIDO UN FAVOR COMO INSTALAR URLMON.DLL, NO PUEDO NAVEGAR EN INTERNET, SE LOS AGRADECERE, GRACIAS:
...
escrito por JOSE DE JESUS SANCHEZ SILVA, September 17, 2008
POR FAVOR DIGANME COMO INSTALAR URLMON.DLL
...
escrito por carmen, September 30, 2008
hola que tal necesito reinstalar ConnAPI.DLL me lo pide cada vez cuando abro el programa de nokia,queria descargar mis fotos de mi tlf a mi computadora y no puedo por que me pide reinstalar lo que señale ,plis que hago????????????'''

Escribir comentario
Incomedia WebSite X5 Evolution
quote
bold
italicize
underline
strike
url
image
quote
quote
Smiley
Smiley
Smiley
Smiley
Smiley
Smiley
Smiley
Smiley
Smiley
Smiley
Smiley
Smiley

Copyright 2007. All Rights Reserved.
busy
Modificado el ( Tuesday, 11 de December de 2007 )
 
< Anterior   Siguiente >
reparar dll:
--------------------------------------------------------------------
Erro *.dll ? Es una libreria de enlace dinámico, típicamente van en la carpeta System32 aunque algunos programas que incluyen DLL's propias las instalan en su propia carpeta de programa.

Para Win2k la carpeta es C:\Winnt\System32
Para WinXP la carpeta es C:\Windows\System32

Copiarlo aqui ya que debes de correr una utileria para registrarla. Se encuentra en la misma carpeta System32 y el nombre es "regsvr32.exe"

Copia la DLL a System32 y ejecuta lo siguiente:

Borrar dll,Desde Inicio, Ejecutar, escriba lo siguiente (más Enter):
regsvr32 -u %windir%\system32\*.dll
Si el comando es ejecutado con éxito, se abrirá una ventana con el texto "DllUnregisterServer en C:\WINDOWS\system32\*.dll se realizó con éxito.". Ciérrela pulsando en Aceptar.
Para Win2000
C:\Winnt\System32\regsvr32 C:\Winnt\System32\*.dll
Para WinXP
C:\Windows\System32\regsvr32 C:\Windows\System32\*.dll
Instalar se necesita archivo librerias dll
---------------------------------------------------------------------

Más...