Wrox Programmer Forums
|
VB Components Issues specific to components in VB.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the VB Components section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old December 17th, 2006, 05:03 AM
Registered User
 
Join Date: Dec 2006
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Default What Is dll Hell ?

It is my first post.
It may possible that i am repeating same question......
In my last interview, interviewer asked me

"What is dll hell?"

I know that this is regarding version compatibility of dll's but i am not sure what exactly answer they expecting from me so i am not able give them answer......

So if anybody knows this then please let me know
Thanks

 
Old December 17th, 2006, 05:29 AM
Friend of Wrox
 
Join Date: May 2006
Posts: 643
Thanks: 0
Thanked 0 Times in 0 Posts
Default

You probably whould have been fine saying "it is in regards to version compatibility of dll's", or better yet "COM dll's".

There are a number of issues grouped together as "dll hell", but it is mostly that only a single version of any particular COM dll can be registered on a computer at the same time, so if a COM dll replaces another verion of the same dll during an installation, and it is not compatible with the one it is replacing then any existing application using that dll could stop working properly.

Other issues include:
- multiple entries in the registry when a dll is not binary compatible with an existing dll and is installed "over" an existing dll without first unregistering the previous dll. This can cause COM to be directed to the wrong version even though the correct one exists.
- uninstalling an application which removes a dll that is in use by another program and therefore causes that program to fail.
- A vendor could have a dll with the same ProgId as another dll in some other vendors application which would cause the other program to stop working.

Well, thats plenty enough to get you through an interview. This question is asked in interviews because someone who has put "COM Components" on their resume will have dealt with these things and should be able to discuss the issues.


Woody Z
http://www.learntoprogramnow.com
 
Old December 18th, 2006, 03:23 PM
Friend of Wrox
 
Join Date: Jun 2003
Posts: 627
Thanks: 0
Thanked 0 Times in 0 Posts
Default

thanks to Woody for his exhaustive answer.

I would add that it is call "hell" because it is an hell of the problem to fix.
Sometimes the app doesn't even start and does not throw any errors. You d-click its icon, and nothing happens. Sometimes the app "seems" to be ok, but once in a while gives wrong results. Sometimes you do get a "incompatible library" error, but you do not which library is. Sometimes all the components that you app uses "directly" are fine, but the problem is in some other component that the "good" components are using.

Once that it is exthablished that the problem is indeed a version
compatibility, and that the "guilt" component is found, it is not that easy to fix it. Event copying the right component and registering it, can leave some corruption is the registry, and the app still does not work correctly. Sometimes I search in my hard disk for all the components left around, unregister them and delete them. Then I hope regedit, do a search for the classID and delete all the keys that contain it. Sometimes I even reboot to clean any cache left around. Only at that point I reinstall the new component, and hope the best. When the problem is big, I saw developers that just reinstall Windows because their registry is damaged to the point of no return!

In other words, a "hell"...





Similar Threads
Thread Thread Starter Forum Replies Last Post
How the dll hell problem has been solved in .NET kiran.mahamkali C# 2 May 3rd, 2007 10:12 AM
DLL Hell huanglanjing Access VBA 2 December 7th, 2006 11:13 AM
AutoNumber Hell somissac Access VBA 5 March 22nd, 2005 04:05 AM
Circular Reference Hell! RFickling C# 1 November 7th, 2004 06:38 PM
Printing Hell (richTextBox) mrhyman VB How-To 4 February 18th, 2004 10:20 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.