COM Components and Side-By-Side Execution 

Multiple versions of a managed application that run side-by-side on a computer can interoperate with COM components. Neither the managed application nor the COM component requires any modification for side-by-side execution to work properly. This topic introduces COM issues that are related to side-by-side execution.

COM Side-By-Side Assemblies

Side-by-side assemblies are unmanaged assembly versions running on the same computer. To use COM side-by-side assemblies, a .NET-based application developer must provide an Win32-style application manifest, which contains binding and activation information. To learn more about COM side-by-side assemblies, search for "Side-By-Side Assemblies" in the MSDN Library.

Primary Interop Assemblies

The Type Library Importer (Tlbimp.exe) imports type library information as metadata in assemblies to expose a COM component to managed applications. When you have multiple versions of a COM component, you can have multiple type libraries, and possibly multiple versions of a primary interop assembly. In this situation, you have two choices:

  • You can register the newer primary interop assembly, overwriting the older version in the registry.

  • You can register a single primary interop assembly that supports multiple type libraries.

For instructions on specifying multiple type library versions in a single primary interop assembly, see Generating Primary Interop Assemblies.

See Also

Concepts

Runtime Initialization from a COM Application
Version-Dependent Registry Keys
Configuring a COM Application for Side-By-Side Execution
Applying Version-Dependent Attributes

Other Resources

Side-By-Side Execution for COM Interop