1

I have a .net dll to be used in vb6 project, i have registered the dll using regasm and added reference to dll in vb6 project on my development machine. But i want to run the application on different machines is there any way to run the project without registering it using regasm?

Please suggest me on this.

jyothis
  • 49
  • 2
  • 3
  • 7
  • Yes. See this question http://stackoverflow.com/questions/465882/generate-manifest-files-for-registration-free-com – MarkJ Jul 09 '12 at 20:22
  • Yes, using manifest for you VB6 application you can reference CLR assemblies. See [this question](http://stackoverflow.com/questions/9164660/vb6-manifest-adding-tlb-com). – wqw Jul 10 '12 at 07:12

2 Answers2

1

I've been exactly where you are.

I'm assuming you marked your .Net classes as [ComVisible] which means you need to use regasm on each machine!

On the plus side, we found that we were able to make this easier using Powershell with PsTools using the -c parameter to copy the DLL, then running the regasm tool remotely.You can use \\* to enumerate through the computers on your domain.

Some helpful links are below:

Can I use a *.tlb file without using Regasm to register it on the computer

PsTools

PsExec Description

Ports Needed for PSExec

Community
  • 1
  • 1
JMK
  • 27,273
  • 52
  • 163
  • 280
  • I do not have any idea what properties were set to .net dll.Can you suggest me in detail what should be done to avoid registering the dll on every machine. – jyothis Jul 09 '12 at 12:30
  • I think that for your code to be usable from VB6, you need to set `ComVisible` to true. – JMK Jul 09 '12 at 12:34
1

It is possible to avoid registration using registration free COM, and other similar methods, but they are much more complicated than just registerign the file. What's your aversion to file registration? You need to register the VB6 runtimes anyway...

Deanna
  • 23,876
  • 7
  • 71
  • 156