No, it actually does not :-) See, this assembly is written in C++, managed C++.
There is a factory function that is creating the COM object and that is callable from managed code - it actually returns a managed wrapper around the object. Our goal here was this: (a) we write an application and use DirectShow. For this we have to implement some DirectShow filters that - though - are propitary and not public. (b) we dont want to bother with copy protection and abuse protection and possible manipulation. So, we create the COM objects directly in C++ code - after all, a COM object is JUST a special memory layout of it's interfaces Vtables :-) We define the interfaces for import in the managed part with all marshalling information. And voila, it works. Being signed, the dll can not be manipulated or exchanged without the key, and with dotNET evidence requirments on the calls, the calling assembly must be correctly signed, too - otherwise the function call is rejected. Noone sees our com objects and noone can use them unless he has the correct keys. Regards Thomas Tomiczek THONA Consulting Ltd. (Microsoft MVP C#/.NET) -----Original Message----- From: Taras Tielkes [mailto:[EMAIL PROTECTED]] Sent: Freitag, 19. April 2002 15:18 To: [EMAIL PROTECTED] Subject: Re: [DOTNET] Can I expose a com interface from a running executab le? Hi Thomas, > For example, we have some COM objects in there, that we do NOT write > into the registry, because we - only use them internally. Internal > managed factory method - noone will ever see them, so noone can try to > use them. If they are not "written into the registry", how are they activated? At what point does the COM library get into this? Doesn't "COM object (not "interface") imply a registry setting of some kind? Regards, // tt You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.