DLL HELL: Dll stands for
Dynamic Link Library
Legacy software
installations in the past were developed in a variety of ways. Setup developers
designed their install programs to concentrate on their own products which
often impacted on programs that were already installed on the PC. With legacy
installations in the past, there might be two applications using the same file,
but one might be designed to run on an older version. This led to "DLL
hell" where the installation/uninstallation of one application would cause
other applications to stop working.
In simple words :
For instance there is an application (A) with the dll version
1.0 which is already installed on the machine, there is another application (B)
with the same dll name but different version, let us take it as 2.0.
When the application B is installed on the system which has App A installed, it overwrites the dll file to version 2.0 and if the app B is uninstalled the Dll also gets uninstalled, hence failing to launch Application A as well.
This conflict between the dll file is known as DLL hell.
When the application B is installed on the system which has App A installed, it overwrites the dll file to version 2.0 and if the app B is uninstalled the Dll also gets uninstalled, hence failing to launch Application A as well.
This conflict between the dll file is known as DLL hell.
Merge Modules and following
some component rules can help resolve DLL Hell.
Application isolation is one solution
to component versioning conflicts, or DLL hell.
Isolation reduces versioning conflicts
by modifying an application so it always loads the versions of components –
such as DLLs – with which it was originally developed and tested. And prevents
the overwriting previous versions of shared components, and ensures that other
applications do not overwrite the versions of shared and support files required
by your application. This is accomplished by providing DLLs and other shared
components for specific applications, and placing information traditionally
stored in the registry into other files that specify the locations of these
isolated components. Application isolation provides increased stability and
reliability for applications because they are unaffected by changes caused by
installation and ongoing maintenance of other applications on the system.
The Application Isolation tool provides
a quick and easy way to isolate applications with their shared .DLL or .OCX
files (support files). Isolating an application with its support files ensures
that your application always uses the version of shared files with which it was
installed. It prevents overwriting of previous versions of shared components,
and ensures that other applications do not overwrite your version of shared
components.
Comments
Post a Comment