3

I have an example project with works when called from compiled VB6 but not from the IDE or from Excel's VBE.

There are 3 DLLs QA.DLL, QB.DLL, QAW.DLL. QA is written in C#.NET, QB and QAW are written in VB6. QAW is a COM wrapper of QA.

In the calling code I create an Activation Context and load a manifest file.

All works fine from the exe created with VB6, but not in debug mode in VB6 or in Excel's VBA.

Any ideas what it is that is different about the IDE call and why it doesn't work?

tabdiukov
  • 1,144
  • 3
  • 10
  • 23
DangerMouse
  • 91
  • 1
  • 2
  • I have a solution but it involves copying the .Net dll QA.dll to a subdirectory of Office11, Office12, VB98, etc. All COM dlls and manifests can be placed elsewhere, i.e. on a network drive. This kind of defeats the purpose of Reg-Free for my need. Any suggestions about how to load a .Net assembly from the network using C style calls or COM (i.e. called from VBA or VB6) would be welcome. Thx – DangerMouse Apr 26 '10 at 11:50

1 Answers1

1

It is because the application is actually running from the directory that the VB6.exe is located. You could actually put your dll's and manifest there and have it work, but if you do much RegFree development that directory is going to become a mess very quickly.

Kris Erickson
  • 32,405
  • 26
  • 113
  • 170