Hey folks, it’s Sakthi Ganesh again. Today we’re going to talk a little bit about an interesting issue I recently worked on with one of our customers related to MMC Launch failures. The problem itself had little to do with the MMC’s themselves and more to do with SideBySide Assemblies. Before we dig into the issue though, let’s set the stage appropriately …
Most IT Administrators are familiar with the terms “DLL Hell” or “Dependency Hell”. The terms refer to the different complications that can occur when dealing with multiple versions of the same Dynamic Link Library (DLL) file. The whole point behind DLL's is that you can write a single container object that is shared by any number of other components that need that DLL’s functions. This saves hard disk space as well as memory space since the DLL only has to map into memory once. It also allows you to change functionality or even fix bugs in a single location. This however opens you up to unintended consequences if a DLL is replaced with an older or sometimes even newer version. When this occurs, you might get errors like this:
- "The procedure entry point Foo couldn't be located in Bar.dll"
- "Ordinal 123 could not be located in the Dynamic Link Library Example.dll"