2012-04-23 94 views
4

我一直無法加載這個DLL,所以我打開它在Dependency Walker。32位DLL加載64位依賴關係?

儘管是一個32位的DLL,它似乎試圖加載64位DLL作爲依賴關係,導致它在運行時拋出「無法加載DLL」異常。有什麼方法可以指定我希望使用哪些依賴關係?

(我會張貼Dependency Walker的屏幕截圖,但我不能,因爲我是一個新用戶)。

更新:

還有一點。就在幾天前,這個DLL正在使用相同配置的同一臺計算機上工作。但是,我必須安裝一個新的硬盤驅動器,因爲前一個硬盤失敗了。重新安裝所有的驅動程序後,我留下了這個問題。

最後更新:

看來,這是一個有缺陷的安裝。在某些時候,驅動程序被更新,他們不再在64位系統上安裝32位依賴DLL。

+0

你有32位版本嗎? – ChrisBint 2012-04-23 16:22:08

+0

@ChrisBint雖然大多數人都在那裏,但它看起來像是缺少一些32位版本。似乎安裝程序自上次下載以來已更改。 – static416 2012-04-23 18:23:54

回答

1

Windows有一個very specific search order to locate DLLs,您可以使用它來使它在不正確的之前找到正確的。

+0

這很有道理。我不知道我使用的第三方DLL是否沒有正確使用GetSystemDirectory。 – static416 2012-04-23 16:51:31

+0

@ static416我不認爲這個DLL實際上是在尋找它自己的依賴關係(通常他們不是)。它找到的64位庫在哪裏?32位DLL位於何處? – 2012-04-23 17:53:27

+0

經過了一段時間後,很明顯有更重要的事情發生。一些32位版本的依賴關係不存在。 因此,無論是以前的安裝也缺少32依賴,但以某種方式運作。或者驅動程序安裝程序自上次安裝以來已更改,並且它們不再在64位系統上安裝32位DLL。 感謝您的幫助,我將不得不在我身邊深入一點。 – static416 2012-04-23 18:10:14

相關問題