Each one who works with dll’s in COM times knows about the expression “DLL-Hell”! You can meet even in .Net the same problems. E.g. from MS self, try to install a one of complexes ServerControl for ASP.Net like “TreeView” or “TabStrip”. MS provide those controls but they not support them. How we’ll avoid it this problematic of parallel installed controls?
You can’t install it; because there is already an older version installed. We not allowed now to install our new ServerControls. We have two ways to solve our problem.
Just a Re-Install will help us currently to set up the newer version on our server. We know what happens when we use an explicit reference to the previous version. It’s will crash the Application that use “explicit a previous version” of a control. If it’s our own Solution, we can handle it with by a simple Re-Compilation of our source code that contains now a reference to the newer version. So far so good, but there have to be other ways, then the problem is still alive if we have no access or permissions to change the source code.
The solution to solve it is to install it parallel in the “GAC – Global Assembly Cache” or to copy the old version into all Bin-Folder of used Applications of the previous dll. The GAC option is impossible, because Windows Installer block us. How we get the relevant DLL’s from msi’s (MS Installer File)? I haven’t founded anything possible to do that (if you have a way tell me about it). A possible way to handle our problem is we can keep our previous dll before Un-Install it. We use the Framework Configuration Tool to register both versions.