Interop Forms Toolkit
Hybrid Application Deployment

Overview

Deploying a Hybrid Application requires modifying your current deployment process to ensure that your .NET assemblies are installed and registered properly.  This topic discusses the decisions and tools involved in the process.  For more detailed instructions see How To Deploy Hybrid Applications.

 

Registering the .NET Assemblies

The .NET assemblies you create as part of a Hybrid Application will be called by Visual Basic 6.0 COM objects.  Therefore they must be registered as COM objects.  .NET assemblies are not COM objects, of course, so the typical means of registering a COM .dll using regsvr32.exe will not work.  However, Microsoft provides the Assembly Registration Tool "Regasm.exe" to solve this problem.  The tool adds the registry entries needed to make the .NET assembly look like a COM object to other COM objects.  In addition, it adds information needed to correctly load the assembly into memory.

 

Private vs. Shared

The only decision you need to make is how you want the assemblies to be deployed. Unlike Visual Basic 6.0 COM applications, .NET does not use the registry to find .dll's.  Assemblies can be either private or shared:  an assembly is termed private if it is deployed to the folder where an application is running. A shared assembly is installed in the Global Assembly Cache (GAC).  Since .NET assemblies used in Hybrid Applications will be loaded in the same manner as any other .NET assembly, you can choose where to deploy them. 

Both InteropForm and Interop UserControl assemblies will contain UI elements that most likely apply to one application and therefore they should most likely be deployed to the application folder as private assemblies.  Assemblies that will be used in multiple applications can be treated as shared assemblies or private assemblies.  In general, deployment as private assemblies is often an easier approach.

Both Regasm.exe and Gacutil.exe can be used as part of your installation process.  If you choose to create a new installer for your application using Visual Studio, you can specify options for automatic registration and/or GAC installation.

 

Other Dependencies

The .NET 2.0 Framework is responsible for loading your .NET assemblies and therefore must be installed on the end user's computer in order to run your Hybrid Application. In addition, the Interop Forms Toolkit Redistributable Package 2.0 should be included in your setup — this package detects any dependencies on the Interop Forms Toolkit and installs the necessary components. 

 

Versioning

Since deployment involves COM registration, you must be careful when unregistering with Regasm because it can remove all registrations of an assembly and therefore break other installed applications using versions of an assembly.