为什么 REGSVR32 找不到明显存在的 DLL?

为什么 REGSVR32 找不到明显存在的 DLL?

我正在全新的 Windows 2003 Server 上安装自定义应用程序。需要添加和注册几个 DLL,我已将它们复制到 C:\WINDOWS\System32 文件夹中的服务器 - 当我们在 Windows NT 和 2000 上运行应用程序时,它们一直都在那里。

但是,当我尝试使用以下命令注册它们时:

regsvr32 c:\windows\system32\nameoflibrary.dll

它回馈:

LoadLibrary("c:\windows\system32\nameoflibrary.dll") failed - 
The specified module could not be found.

但是 DLL 就在那里。我可以看到它。如果我将路径复制到 Windows 资源管理器并尝试运行它,它会告诉我无法运行 DLL,所以我知道它在那里。一个小问题是 DLL 是用 VB5 构建的——但服务器上安装了 VB5 运行时,所以这应该不是问题。

有任何想法吗?

答案1

可能是缺少依赖模块。您需要查看 getlasterror 代码来确定找不到模块的原因。

答案2

Jim B. 可能是正确的。获取DependencyWalker并加载 {nameoflibrary.dll}——它将显示缺少哪个依赖 DLL。

相关内容