See the question and my original answer on StackOverflow

You can check the registry programmatically (like any COM server, not only .NET), for example, here is what produces the regasm for a class named net2.Class1 in an assembly named 'net2.dll", that was registered with the /codebase argument:

enter image description here

For a non .NET COM Server, the important part is the default value of the HKCR\CLSID\<your CLSID>\InprocServer32 key which points to the dll that exposes functions to create the declared COM objects.

For a .NET class, this value must be set to mscoree.dll (which is part of all .NET installations), and then what's also important is the keys Assembly and Class.

Note I have provided an equivalent sample of RegAsm in C# code here: Registering a COM without Admin rights, you can also use it the other way round to determine what are the important keys.