Deploying an Application for COM Access

Assemblies can be private or shared. Private assemblies are available only to clients in the same directory structure as the assembly; shared assemblies are available to any local COM application. All assemblies and type libraries must be registered in the Windows registry so COM clients can use the managed types transparently.

Private Assemblies

You deploy an application into an application directory and subdirectories if it is to be private. The following illustration shows the Loanlib.dll installed in two separate application directories. To run a private assembly from the Visual Basic 6.0 development environment, the assembly must be in the application directory of the Visual Basic executable (Vb6.exe).

Directory structure and registry entries for private deployment

Directory structure and Windows registry

Shared Assemblies

You install the assemblies for an application into the global assembly cache if they are to be shared. All shared assemblies must be strong-named (signed by the publisher). Any COM application that references a type in the assembly encounters Mscoree.dll, which in turn locates the assembly.

Use the Global Assembly Cache tool (Gacutil.exe) to add an assembly to the global assembly cache. For example

gacutil /i LoanLib.dll

See Also

Tasks

How to: Reference .NET Types from COM

Concepts

Exposing .NET Framework Components to COM

Registering Assemblies with COM

Calling a .NET Object

Other Resources

Deploying the .NET Framework and Applications