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

c2850st8.asmdeployprivate(en-us,VS.71).gif

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.

To add an assembly to the global assembly cache using Gacutil.exe

  • gacutil /i LoanLib.dll

See Also

Exposing .NET Framework Components to COM | Registering Assemblies with COM | Referencing .NET Types from COM | Calling a .NET Object | Deploying .NET Framework Applications