2009-05-29 4 views
0

ここに私の問題です:私はWindowsとUnixを含むさまざまなプラットフォーム上で実行できるアプリケーションを開発している32ビットアプリケーションはx64のWin2003の上で実行することができなかった原因に

が。このアプリは、純粋なWin32ボックス(WinXP)または純粋なWin64(Win2K3 x64版)や他のUNIXプラットフォームでうまく動作します。

64ビットWin2K3で32ビットモードで実行している場合のみ失敗します。このアプリは、実行時にサードパーティ製のDLLを呼び出します。サードパーティ製のDLLは正式にはインストールされていませんが、同じenv内の場所にコピーされただけです。私はまた、私はこれらのサードパーティのdllの正しいバージョンを持っていると確信している(私は32ビットモードの32ビット版を意味する)。私は手動でこのテストボックスで "パス"を設定しても、それはまだ動作しません。このWin2K3ボックスでは、アプリケーションは32ビットモードでコンパイルされ、ビルドされています。

私は依存性ウォーカーを実行し、同じエラーが表示されます。そのサードパーティのDLLを見つけることができません。

誰もがこれにいくつかの光を当てることができますか?私のアプリやシステムにそのサードパーティ製のdllパスを表示させるにはどうすればいいですか?

+0

依存関係ウォーカーでは、DLL自体全体を見つけることができないか、またはいくつかの方法が存在しないと不平を言っていますか? – Naveen

+0

これは、DLL全体が見つからないと訴えています。 – awatto

答えて

1

私は、次の操作を行うことができ示唆している:

  • あなたは何のパスあなた アプリケーションを表示するために、32ビットアプリ
  • 使用Filemonのに問題のあるDLLの32ビット バージョンを使用していることを確認試行あなたがそのDLLとそれらのパスの1つの
  • 使用依存関係ウォーカーにDLL を配置した場合、それが動作するかどうかという DLL
  • チェックをロード中に 自体を - それは、自身の未解決の依存関係
+0

提案していただきありがとうございます。 サードパーティ製のdllを作業ディレクトリにコピーしました。しかし、まだ問題は残っています。依存関係ウォーカーでは、サードパーティ製のDLLにMFC80.dllなどの依存関係がないように見えますが、欠落しているファイルはシステムに存在しますが、x86用とx64用の2つのバージョンがあります。それはサードパーティのDLLを混乱させる可能性があります。 質問:32ビットアプリケーションを実行するためにWin2K3 x64で明示的にパスを設定することは可能ですか?私は "PATH"のような環境変数を設定しましたが、動作していないようです。 – awatto

+0

あなたのDLLはvs2005でビルドされています。これは実際に実行時の2つのバージョン、pre-sp1とsp1(各ライブラリは独自のバージョンを持ち、同じライブラリのいくつかのバージョンが存在します)を持っています。 DLLに必要なランタイムの具体的なバージョンは、DLL内の埋め込みマニフェストで(おそらく)定義する必要があります。マニフェスト(http://stackoverflow.com/questions/420852/reading-an-applications-manifest-fileに記載)を調べて、対応するバージョンのVisual Studio DLLがSystem \ WinSxSにあるかどうかを確認してください。そうでない場合は、適切なランタイム再配布可能ファイルをインストールする必要があります。 – Andrey

+0

この情報をありがとう。私はそれを調べるつもりです。ところで、私たちのアプリは32bit版の64bit Windows上でVS 2003.Netで構築され、64bit版のVS 2005で構築されました。ロードする正しいdllを探す面で違いがありますか? – awatto

0

を持っているかもしれませんWOW64はSYSWOW64フォルダにSystem32フォルダに32ビットアプリケーションによって、すべてのコールをリダイレクトします。サードパーティDLLはsystem32フォルダにありますか? system32フォルダには、Windows x64上の64ビットDLLのみが含まれています。

+0

私たちのサードパーティのDLLは、それ自身のフォルダに置かれます。しかし、これらのdllは登録されていません。それらは単にその場所にコピーされます。いずれのインストーラーでもインストールされません。 – awatto

関連する問題