1
votes

Following is the scenario:

We received the following files from our VC++ team:

a.exe a.tlb

We used tlbimp.exe to generate a .net dll from a.tlb, say a.dll.

We referred this newly generated dll in our .net application and everything is working fine.

My question: Though we haven't registered this com exe (a.exe) anywhere, how is the generated .net dll (a.dll) working fine? How is this connection made?

With COM dlls, we used to register the COM dll and then use tlbimp to generate a .net dll from the COM and used to refer the generated .net dll in our project. This I can understand beccause the generated .net dll stores the GUID of the COM and can locate the COM using system registry. However, I am not able to understand how the scenario that I mentioned in the beginning working.

Thanks in advance.

1
Do you mean you don't understand how the .exe is started? Because COM starts it when you create the COM object this .exe serves. - Simon Mourier

1 Answers

0
votes

It could be done using a regfree com, this enables locating the assembly using such a manifest file which defines the identity of an assembly.

Take a look at Registration-Free Activation of COM Components: A Walkthrough