Deployment COM Interop question

S

Saurabh

Hello All,

I have a .NET component which needs to be deployed on the target machine so
that It can be exposed to the COM world. On the development machine, the
'register for com interop' setting when set to true, does the trick. When I
deploy it on a target machine (I am using Installshield Professional 6.3)
how do I register the assembly? Has anybody done it through installshield?
The other thing is when If I copy this assembly on the target machine, and
run regasm MyAssembly.dll, I can see the Object in the OLE / COM viewer but
not the interface which this object implements. Am I doing something wrong.
The tlb that is generated during the build is a separate file and its not
embedded in the dll.

Any inputs?

TIA,

--Saurabh
PS : Sorry for posting to this newsgroup though its not exactly a forms
question
 
S

Saurabh

Found the solution!!
If I try doing regasm /codebase MyAssembly.dll then it works though it gives
the warning saying not a strong name. Anyways, It registers and works. does
anybody know whats the difference between using /codebase switch and not
using it ?

TIA,

--Saurabh
 
B

Brian Reed

When you specify 'codebase' with regasm, it forces regasm to add the path to
your COM CoClass DLL into the registry. This allows the object to be
instanced via COM CreateInstance wherever the dll is located. If you don't
specify 'codebase' then the DLL must live in the same directory (or child
directory) as the application that is going to instance it.
 
S

Saurabh

Well, I thought if I register dll, I don't need to worry about the path. As
the application I am writing is a DLL to be used by another application
(lets call it a parent), I don't want to add anything to the parent's
folder. Does it mean that I have to use /codebase switch.

Is there any way of achieving it using Installshield Professional 6.3

TIA,

--Saurabh
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top