3
votes

I am currently trying to reference a .NET COM library in my Visual Basic 6 application. I have registered it, using Regasm and I have set ComVisible to true within my class. However when I try to run my application i get the following error:

ActiveX component can't create object.

My library consists of a very simple function (since I just wanted to test if I could even run it), it just returns the string "Hello World".

I had to use a different machine (machine 1) to create my C# .Net class and then copy that class onto another machine (machine 2) and from there register the dll and reference it in my project. I then tested my project on a separate machine (machine 3) which is were I received the error.

I really need help with this, I have already tried to un-register and re-register it and still to no avail.

1
Yes, you did something wrong. We can't see you doing it wrong.Hans Passant
@HansPassant I created a C# library on machine 1, and then copied that to machine 2, on machine 2 I registered the dll, which created a .tlb file. I then referenced that .tlb file in my vb6 application. However when I test my project on machine 3 (target machine) I get an error as stated above.dantheman
@HansPassant, do .tlb files HAVE to be in C:\Windows\system32 folder?dantheman

1 Answers

1
votes

Try this.

From an elevated command prompt:

  1. RegAsm /codebase /tlb AssemblyName.dll. Take note of the .tlb file generated.
  2. RegTlib File.tlb
  3. Open your VB6 project and reference the .tlb file.