The Deployment Solution?

Before the arrival of .NET, there have been some preliminary steps take to combat DLL Hell (primarily arriving on the scene with Windows 2000). .NET builds on the efforts of Windows 2000 to ease the complexities of component deployment.

Side-by-Side Component Sharing

Microsoft Windows 2000 (and Microsoft Windows 98 Second Edition) introduced new technology that enables something called side-by-side component sharing. In this scenario, limited versioning support is thrown into the mix so that multiple versions of the same DLL can be hosted on one machine. If one application uses Version 1.0 of the spell-checker DLL and another uses Version 2.0, both applications have these DLLs running in isolation from one another. That is, the runtime will load both the 1.0 and the 2.0 versions into memory at the same time. The runtime is then responsible for directing the DLL calls to the appropriate instance. Figure 22.1 shows a side-by-side component scenario.

Figure 22.1. Side-by-side components.


Windows File Protection

Windows File Protection (WFP) also was introduced with Microsoft Windows 2000. WFP enables the operating system to keep a cache of a number of DLLs (currently, just less than 3000) that it recognizes as crucial, system-wide components. Replacing one of these components would have such far-reaching repercussions that WFP simply doesn't allow it. If a DLL file is written to the file system that replaces one of these protected DLLs, the operating system receives a notification of this and simply copies the old one back in (all this without even raising an error!). This is yet another mechanism that helps to alleviate the DLL Hell problems.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.53.113