Dll

為什麼 REGSVR32 找不到明顯存在的 DLL?

  • December 5, 2011

我正在全新的 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 執行時安裝在伺服器上,所以這應該不是問題。

有任何想法嗎?

可能是缺少依賴模組。您需要查看 getlasterror 程式碼以確定未找到該模組的原因。

Jim B. 可能是正確的。獲取DependencyWalker並載入 {nameoflibrary.dll} - 它會告訴您缺少哪個依賴 DLL。

引用自:https://serverfault.com/questions/337848