Do you want to use your .NET DLL (assembly) from VB6 or C++ application (native code) ? Yes, you can do that using COM Interop. As per COM rules, you need to get your assembly registered on system (in Registry, yes, thats how COM works!).
To get an assembly registered on system, you can use regasm utility that comes with .net framework.
If you have .NET Framework 2.0 installed, regasm would be in following path (assuming you have 32-bit OS) C:\windows\microsoft.net\Framework\v2.0.50727\regasm.exe
If you have 64-bit OS as well as .NET framework installed, you should find 32bit version of regasm in, C:\windows\microsoft.net\Framework\v2.0.50727\regasm.exe
and 64 bit version of regasm should be in, C:\windows\microsoft.net\Framework64\v2.0.50727\regasm.exe
More on regasm and its command line options is described here.
If you are developing project in Visual Studio, there is option to register your assembly with COM Interop in Project Properties (Right click on project and choose properties), Go to Build tab, There is an option for "Register for COM Interop". (Basically what it does is, it calls regasm after DLL is built!)
There are two options while registering the assembly for COM Interop,
PingBack from http://microsoftnews.askpcdoc.com/interop/how-to-register-net-assembly-for-com-interop-2
As I know DLL registration done by RegSvr32.exe. But I want to know how .Net dll registration done?
The information distinguishing the regasm locations for 32/64 bit machines was very useful to me.
What should i do if the "Register for COM Interop" option is disabled? (I'm using visual studio 2013). i have a problem with 64 bit vesrion. help me.
Great to the point article! Thanks!