Click to Rate and Give Feedback
MSDN
MSDN Library
Visual Studio 2008
Visual Studio
Interoperability
 Deploying an Interop Application

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Developer's Guide
Deploying an Interop Application

An interop application typically includes a .NET client assembly, one or more interop assemblies representing distinct COM type libraries, and one or more registered COM components. The Windows Software Development Kit (SDK) provides tools to import and convert a type library to an interop assembly. You must ship the interop assembly with the other assemblies that make up your application.

Assemblies can have strong names. A strong-named assembly includes the publisher's public key, which provides a unique identity. Assemblies produced by the Type Library Importer (Tlbimp.exe) can be signed by the publisher using the /keyfile option. You can install signed assemblies into the global assembly cache. Unsigned assemblies must be installed on the user's machine as private assemblies.

To install an assembly to be used privately, both the application EXE and the interop assembly containing imported COM types must be installed in the same directory structure. The following illustration shows an unsigned interop assembly to be used privately by Client1.exe and Client2.exe, which reside in separate application directories. The interop assembly, which is called LOANLib.dll in this example, is installed twice.

Directory structure and registry entries for a private deployment

Directory structure and Windows registry

All COM components associated with the application must be installed in the Windows registry. If Client1.exe and Client2.exe in the illustration are installed on different computers, you must register the COM components on both computers.

Assemblies shared by multiple applications should be installed in a centralized repository called the global assembly cache. .NET clients can access the same copy of the interop assembly, which is signed and installed in the global assembly cache.

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Error in the diagram?      ondrejsv ... Noelle Mallory - MSFT   |   Edit   |   Show History
Assuming convention set up in http://msdn2.microsoft.com/en-us/library/xwzy44e4.aspx LoanLib.dll designates a COM binary and LOANLib.dll an interop assembly, the text in the registry key InProcServer32 in the diagram should be LoanLib.dll.
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker