我正在全新的 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。