在SysWOW64中注册VB6 dll时出错

时间:2013-10-22 08:46:17

标签: dll com vb6 32bit-64bit

我正在开发在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在构建计算机上注册OK,我怎样才能找到问题的根源?

1 个答案:

答案 0 :(得分:0)

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