2012-04-23 14 views
4

私はこのDLLの読み込みに問題がありましたので、私はそれをDependency Walkerで開きました。32ビットDLLは64ビットの依存関係をロードしますか?

32ビットDLLであるにもかかわらず、64ビットDLLを依存関係としてロードしようとしているようで、実行時に「Unable to load DLL」例外がスローされます。どの依存関係を使用するかを指定する方法はありますか?

(私はDependency Walkerのスクリーンショットを投稿しますが、私は新しいユーザーだからできません)。

更新日:

追加ポイント1つ。このDLLは数日前と同じ構成の同じコンピュータで動作していました。しかし、前回と同じように新しいハードドライブをインストールする必要がありました。すべてのドライバを再インストールした後、この問題が残っています。

最終更新:

それは欠陥のインストールだと思われます。ある時点でドライバは更新され、64ビットシステムに32ビット依存DLLをインストールしなくなりました。

+0

32ビット版もお持ちですか? – ChrisBint

+0

@ChrisBintほとんどの場合、32ビットバージョンのうちのいくつかが欠落しているようです。インストーラが最後にダウンロードしてから変更されたようです。 – static416

答えて

1

Windowsにはvery specific search order to locate DLLsがあり、間違ったものの前に正しいものを見つけることができます。

+0

それは理にかなっています。私が使用しているサードパーティのDLLがGetSystemDirectoryを正しく使用しないのだろうかと思います。 – static416

+0

@ static416私はDLLが実際にそれ自身の依存関係を見つけることに関与しているとは思わない(通常そうではない)。見つかった64ビットライブラリはどこにありますか?32ビットDLLはどこにありますか? –

+0

もう少し詳しく調べると、より重要なことが起こっていることは明らかです。依存関係の32ビットバージョンのいくつかは存在しません。 そのため、以前のインストールでも32個の依存関係がなくなり、何らかの形で機能していました。または、ドライバインストーラが以前のインストール以降に変更され、64ビットシステムに32ビットDLLをインストールしなくなりました。 あなたの助けてくれてありがとう、私は私の側で少し深く掘る必要があります。 – static416

関連する問題