Registering by command, using the Regasm utility
Use: When testing on a different machine and you do not have an installation program
Sometimes you may want to register an assembly for COM interop without building the project; for example, when first testing your component or if you do not have access to the assemblies source code.
In this case, you can use the assembly registration utility Regasm that ships with the .NET Framework Software Development Kit (SDK) or Visual Studio 2005. Regasm will add entries to the registry, which allows a COM (unmanaged) application to consume .NET classes via COM interop.
Machines with either Visual Studio 2005 or the freely available .NET Framework SDK will have this utility installed and other machines may not; therefore. this is not a viable solution for general deployment of your components.
Using the Regasm command line utility
To use the Regasm command line utility:
If the target machine has Visual Studio installed, open the Visual Studio 2005 command prompt (the ordinary command prompt will not have the appropriate environment variables set to use this tool).
If the target machine does not have Visual Studio installed but does have the .NET Framework SDK installed, use the SDK command prompt by choosing Programs, then Microsoft .NET Framework SDK v2.0. If you cannot find it, open a command prompt at the path where Regasm is located. For example, the .NET Framework 2.0 default installation path is C:\Windows\Microsoft.NET\Framework\v2.0.50727.
The following example shows the command used to register the assembly called EditTools with COM. The full path to the assembly should be given unless the current directory of the command prompt is the directory where the assembly is located:
regasm EditTools.dll /codebase
The /codebase parameter is an optional parameter that adds information to the registry specifying the path on disk of the assembly. If the component is not to be deployed to the global assembly cache (GAC), then this option will be required for ArcGIS to find your component successfully; if the component is installed to the GAC, the option is not required. Regasm has many other options; for a full list, type regasm /? or refer to Microsoft Developer Network (MSDN).
Regasm can also be used to unregister assemblies from COM interop, as shown in the following example:
regasm EditTools.dll /unregister
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment