To consume a managed type from COM 之四 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
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