Updated: July 10, 2020 (March 17, 2003)

  Sidebar

Shared Side-by-Side .NET and Win32 Components

My Atlas / Sidebar

668 wordsTime to read: 4 min
Michael Cherry by
Michael Cherry

Michael analyzed and wrote about Microsoft's operating systems, including the Windows client OS, as well as compliance and governance. Michael... more

The major remaining source of DLL Hell-version conflicts caused by updating components such as dynamic link libraries (DLLs)-has been eliminated for applications built on the .NET Framework and for Win32 applications built specifically to use the new support for versioned Win32 components introduced in Windows XP. Both provide mechanisms that allow storing and running different versions of the same component simultaneously and directing function calls to the correct versions of the components. Although the architectural details behind the two technologies differ substantially, they solve the problem in similar ways.

Key to both is the concept of “assemblies,” which provide critical information needed for applications to access the correct version of the shared components. However, .NET assemblies are not the same as Win32 assemblies, which can lead to confusion.

How .NET and Win32 Assemblies Differ

Conceptually, an “assembly” is a collection of component program code, plus a document called a “manifest” that contains XML-formatted data describing the components, such as the names, versions, digital signatures, and classes (that is, functions) they expose, as well as their dependencies on other components and information on where to look for them.

Atlas Members have full access

Get access to this and thousands of other unbiased analyses, roadmaps, decision kits, infographics, reference guides, and more, all included with membership. Comprehensive access to the most in-depth and unbiased expertise for Microsoft enterprise decision-making is waiting.

Membership Options

Already have an account? Login Now

Updated: July 10, 2020 (January 20, 2003)

  Sidebar

Shared Side-by-Side .NET and Win32 Components

My Atlas / Sidebar

659 wordsTime to read: 4 min

The major remaining source of DLL Hell-version conflicts caused by updating components-has been eliminated for applications built on the .NET Framework and for Win32 applications built specifically to use the new support for versioned Win32 components introduced in Windows XP. Both provide mechanisms that allow storing and running different versions of the same component simultaneously and directing function calls to the correct versions of the components. Although the architectural details behind the two technologies differ substantially, they solve the problem in similar ways.

Key to both is the concept of “assemblies,” which provide critical information needed for applications to access the correct version of the shared components. However, .NET assemblies are not the same as Win32 assemblies, which can lead to confusion.

How .NET and Win32 Assemblies Differ

Conceptually, an “assembly” is a collection of component program code, plus a document called a “manifest” that contains XML data describing the components, such as the names, versions, digital signatures, classes (i.e., functions) they expose, as well as their dependencies on other components and information on where to look for them.

Atlas Members have full access

Get access to this and thousands of other unbiased analyses, roadmaps, decision kits, infographics, reference guides, and more, all included with membership. Comprehensive access to the most in-depth and unbiased expertise for Microsoft enterprise decision-making is waiting.

Membership Options

Already have an account? Login Now