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 fail...
This blog describes some of the packaging standards. Also contains methods to silently install different applications or handling their configuration for mass deployements.