COM Interop

  • Thread starter Thread starter Uraza
  • Start date Start date
U

Uraza

I am creating an application that is a COM class that will be accessed by
that route. It doesn't seem to be being called when I try it.

I have created the DLL in the IDE and it also creates the interop.*.dll
libraries which are the proxies for the COM classes that I, in turn, call.

I put together a deployment project that takes care of installing the above
and modifies the registry as well.

I _think_ I have properly registered it in the registry, but who knows!

Anyone done anything similar? Any hazards I should watch out for?
 
Hi,

The interop.*.dll files are self describing files which tell the
framework how to interface with a com componet. They do not need to be
registered in the registry. Dont forget to included the com componet with
your setup.

To register a dll written with the framework to work with a non dotnet
language use regasm.

Ken
 
Thanks, Ken, but now I am seriously confuzed ( a normal state).

In my deployment project the interop.*.dll files were not registered.
Well, when I ran the app, the caller (a COM app) apparently couldn't find
me. The only change I made was to have the deployment project register the
interop.*.dll files and then it worked. Hence I concluded (apparently in
error) that the interop.*.dll needed to be registered. My confusion is
this: why did making this change (it was the only change) make it work?

I did notice that the IDE would create the necessary code to register
these. So, I created a "local" copy of the application and made a second
separate deployment project that included all the information from the
local version. Set this one to register everything. This deployment
project generated an msi file that installed on another machine and
apparently worked.

Related information. The COM app that is being called through the
interop.*.dll already exists on the target machine, so I did not include
the *.dll related to the interop.*.dll files. Perhaps this is why
registration was necessary?

Regards...
 
Back
Top