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. 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.
Example 1
We have an application APP1 of
Version 1.0 and a plug-in to that application PLUG1 of
version 1.0 which of course depends on shared DLL of APP1.
But as we upgraded the APP1 to latest version 2.0,
APP1 works fine, however, the plug-in PLUG1 is
dependent on the shared DLL.