How can I register a dll (COM) developed by C#? Desperately asking for help

  • Thread starter Thread starter chrisben
  • Start date Start date
C

chrisben

Hi,

Developing Env: .NET Studio in C#, windows 2000
target: a COM object used for excel user (RTD)

I have no problem to compile and run the project in my
machine. The excel is working great with RTD calls. It
seems when I compile, the dll is registered by the Studio
to GAC.
However, I got some issues when I try to deploy it to
another machine.
I use
regasm my.dll /tlb
gacutil -if my.dll

I cannot gacutil it since it does not have a strong name.
So I go back to compile my program with strong name. I DID
THE SAME THING BEFORE WITH MY OWN DLL, but this time, I
have to refer a COM comes with Excel 2002 (excel.exe). So
I get message as this assembly is not strong named.

Then I tried again, by
tlbimp /keyfile:c:\key.snk excel.exe

Now I created a excel.dll (strong named) and I refer to it
instead, the result, my RTD callback interface get pretty
much messed up, no more err on strong name, but err saying
my implemented interface is not matching the return
signature, though it worked fine before. Something is even
more funny is that another third party dll work fine after
I use tlbimp, but NOT working on Microsoft Excel!

My question is:

Is there any way to register .NET COM in other way so I
can deploy it in other machine and let Excel users call it
directly (by RTD)?

or

Is there any way for me to create a strong name dll though
I am trying to refer some dlls not strong-named (even
Excel 2002 from MS!!!!).

Generally feeling, COM by .NET is easy to write but it is
a pain in the a** to deploy.

Desperately seeking for help. Anyone from Microsoft here?

Thanks a looooooooot

Chris
 
Back
Top