0

我正在开发一个在 64 位 Windows Server 2008 上运行的 VB6 Web 应用程序。我不得不修改一个 dll 组件,但是当我尝试在 64 位机器上注册它时出现错误。

新的 dll 在我正在构建它的 NT 环境中成功注册。旧的 dll 在我开始时已经存在于 SysWOW64 下的目录中,可以取消注册并重新注册而不会出现问题。

C:\Windows\SysWOW64\sps>regsvr32 UserServices.old.dll
C:\Windows\SysWOW64\sps>regsvr32 /u UserServices.old.dll

但是当我尝试注册新的 dll 时,regsvr32 返回一个错误。我从消息中怀疑问题可能是与 64 位服务器上已有的 dll 的兼容性之一。编译选项指定“不兼容”。

C:\Windows\SysWOW64\sps>regsvr32 UserServices.new.dll

模块“UserServices.new.dll”加载失败。确保二进制文件存储在指定路径或对其进行调试以检查二进制文件或相关 .DLL 文件是否存在问题。指定的模块无法找到。

鉴于 dll 在构建机器上注册正常,我如何找到问题的根源?

4

1 回答 1

0

缺少一些依赖项,使用dependencywalker检查缺少的依赖项并安装它们。

于 2015-10-15T10:41:22.927 回答