Tuesday, April 27, 2010

Registering .NET assembly for COM usage

The steps to register a dot net component is:

The command line instruction to create a strong name.

sn -k ComInterOp.snk.
Strong name is a unique name created by hashing a 128-bit
encryption key against the name of the Assembly (ComInterOp
in our case). The strong name is created using SN.exe, that
would create ComInterOp.snk file, which we would use while
creating the DotNet Assembly.

The command line instruction to create an assembly using
the strong name

vbc /out:ComInterOp.dll /t:library /keyfile:ComInterOp.snk

Assembly Registration Tool.

The Assembly Registration Tool (Regasm.exe), reads the
metadata within an assembly and adds the necessary entries
to the registry, which allows COM clients to create DotNet
Framework classes transparently. The Assembly Registration
tool can generate and register a type library when you
apply the /tlb: option. COM clients require that type
libraries be installed in the Windows registry. Without
this option, Regasm.exe only registers the types in an
assembly, not the type library. Registering the types in an
assembly and registering the type library are distinct
activities.
The command line instruction to create and register
ComINterOp.tlb(Type Library) is

regasm ComInterOp.dll /tlb:ComInterOp.tlb.

The DotNet Services Installation Tool (Regsvcs.exe)

The command line instruction to install ComINterOp.dll in
GAC is

Gacutil -i ComInterOp.dll.

No comments:

Post a Comment