Calling a non-activeX DLL in a VB6 application in Vista/Win7

Posted by user1490330 on Stack Overflow See other posts from Stack Overflow or by user1490330
Published on 2012-07-03T06:41:23Z Indexed on 2012/07/03 9:15 UTC
Read the original article Hit count: 184

Filed under:
|
|
|

I have a VB6 app that utilizes a non-activeX DLL (non-registering).

It's declared via the classic Public Declare Function "Function Name" Lib "Library.DLL" syntax.

On my dev machine (XP) it works fine but when I deploy to Vista or Win7 I'm constantly greeted with a Run Time Error 48 - File Not Found for the DLL in question.

I have tried copying that DLL to every directory I can think of including every environment path on the test machine and the app path too.

These are all 32-bit test environments so it's not a SysWow64 issue.

Possibly throwing a wrench into the mix is the fact that the application in question is an Outlook COM Addin.

I managed to install VB6 on Win7 and was able to run a tiny sample app that utilizes this DLL (outside of the Outlook process) so I know it works PROVIDED the DLL is located in App path. If I call App.Path from my DLL when I run it on the test environment it shows, to no surprise, my installation directory however the DLL is there.

I tried turning off UAC. I tried making the App.Path directory permissions open to everyone, still no dice.

© Stack Overflow or respective owner

Related posts about dll

Related posts about com