By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,501 Members | 1,704 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,501 IT Pros & Developers. It's quick & easy.

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

P: n/a

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
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)?


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

Nov 13 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.