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

Cyb*_*ist 8 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.
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

Dou*_*ugN 7

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


Jim*_*m B 6

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