我有一个使用非 activeX DLL(非注册)的 VB6 应用程序。
它是通过经典Public Declare Function "Function Name" Lib "Library.DLL"语法声明的。
在我的开发机器 (XP) 上它工作正常,但是当我部署到 Vista 或 Win7 时,我经常收到运行时错误 48 - 找不到相关 DLL 的文件。
我尝试将该 DLL 复制到我能想到的每个目录,包括测试机器上的每个环境路径和应用程序路径。
这些都是 32 位测试环境,因此不是 SysWow64 问题。
有问题的应用程序是 Outlook COM 插件,这可能是一个问题。
我设法在 Win7 上安装了 VB6,并且能够运行一个利用这个 DLL(在 Outlook 进程之外)的小型示例应用程序,所以我知道它可以工作,前提是 DLL 位于应用程序路径中。如果我App.Path在测试环境中运行它时从我的 DLL 中调用它,毫无疑问,我的安装目录会显示,但是 DLL 在那里。
我尝试关闭 UAC。我尝试使App.Path目录权限对所有人开放,但仍然没有骰子。