What is DLL hell?

Showing Answers 1 - 14 of 14 Answers

RADHE SHYAM

  • Sep 8th, 2005
 

Previously, before .NET, this used to be a major issue. "DLL Hell" refers to the set of problems caused when multiple applications attempt to share a common component like a dynamic link library (DLL) or a Component Object Model (COM) class. In the most typical case, one application will install a new version of the shared component that is not backward compatible with the version already on the machine. Although the application that has just been installed works well, existing applications that depended on a previous version of the shared component might no longer work. In some cases, the cause of the problem is even more subtle. In many cases there is a significant delay before a user discovers that an application has stopped working. As a result, it is often difficult to remember when a change was made to the machine that could have affected the application. A user may remember installing something a week ago, but there is no obvious correlation between that installation and the behavior they are now seeing. The reason for these issues is that version information about the different components of an application aren't recorded or enforced by the system. Also, changes made to the system on behalf of one application will typically affect all applications on the machine.  
 

  Was this answer useful?  Yes

Praveen Kumar

  • Sep 23rd, 2005
 

DLL Hell is nothing but overwriting the dll in the registery. If two application are installed on a single server, one installed First and the Second Installed Later and There is a dll with same name with different functionality used in both the applications, So in this case Application one works fine all the days until application two Installed on the machine. Once the Application two is installed containing the DLL with the same name as Application one Contains then In this case the application one Fails as the DLL from Application two overwites the DLL of Application one in the Registery. So Application two works fine where as Application one Fails as the DLL is missing.

  Was this answer useful?  Yes

imran

  • Sep 29th, 2005
 

DDL hell is the problem of registering the DDL,.NET remove this problem by assemblies because assemblies has its own meta data thats why it dose'nt require the registration.

  Was this answer useful?  Yes

rameshch

  • Sep 26th, 2006
 

after compiling the .net application dll file of that perticular application will be generated ,  then CLR will execute this dll file to get output

  Was this answer useful?  Yes

DLL Hell refers to the set of problems caused when multiple applications attempt to share a common component like a Dynamic Link Library (DLL) or a Component Object Model (COM) class

  Was this answer useful?  Yes

Anweshi padhy

  • Jul 18th, 2011
 

1. I have 2 applications, A1 and A2 installed on my computer.
2. Both of these applications use shared assembly shared.dll
3. Now, I have a latest version of Application - A2 available on the Internet.
4. I download the latest version of A2 and install it on my machine.
5. This new installation has over written Shared.dll, which is also used by Application - A1.
6. Application - A2 works fine, but A1 fails to work, because the newly installed Shared.dll is not backward compatible.
So, DLL HELL is a problem where one application will install a new version of the shared component that is not backward compatible with the version already on the machine, causing all the other existing applications that rely on the shared component to break. With .NET versioning we don't have DLL HELL problem any more.

Through VERSIONING or Strong Name we can come out from this problem.i,e taking different versions of dll .

  Was this answer useful?  Yes

Shankar

  • Sep 10th, 2011
 

Previously, before .NET, this used to be a major issue. "DLL Hell" refers to the set of problems caused when multiple applications attempt to share a common component like a dynamic link library (DLL) or a Component Object Model (COM) class.

  Was this answer useful?  Yes

Kamlakar Singh

  • Nov 27th, 2014
 

DLL Hell refers to the set of problems caused when multiple applications attempt to share a common component like a dynamic-link library (DLL) or a Component Object Model (COM) class. In the most typical case, one application will install a new version of the shared component that is not backward compatible with the version already on the machine.

Although the application that has just been installed works fine, existing applications that depended on a previous version of the shared component might no longer work. In some cases, the cause of the problem is even more subtle.

for full implementation of dll hell problem click here :
http://www.mindstick.com/blog/507/DLL%20HELL%20Problem%20in%20Net

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions