2011-09-13 20 views
0

私は、Windows XP組み込みSP1システムで動作するように指定されたアプリケーションでサードパーティのDLLを使用しています。XP Embedded CRTバージョンの問題.. LoadLibraryExに失敗しました

しかし、それは私のdevボックスでうまく動作しますが、ターゲットプラットフォームで実行しようとすると、次のイベントで失敗します。このイベントは、LoadLibraryExを呼び出してサードパーティのDLLを読み込むと発生します。

Event Type: Error 
Event Source: SideBySide 
Event Category: None 
Event ID: 32 
Date:  9/8/2011 
Time:  9:42:28 AM 
User:  N/A 
Computer: OEM-J1XMVGHGNVX 
Description: 
The description for Event ID (32) in Source (SideBySide) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Microsoft.VC80.CRT, The referenced assembly is not installed on your system. 

私は、Microsoft Visual C++ 2005再頒布可能パッケージは、問題を解決しますが、それは埋め込まれたプラットフォームであり、MSIがそれに実行されないように私はそれを行うことはできませんインストールすることがわかりました。私は、msvcm80.dll、msvcp80.dll、msvcr80.dllというdllファイルをシステムにコピーしようとしましたが、問題は解決しませんでした。

答えて

0

私は解決策を見つけ、同様の問題で苦労している人のためにここに投稿しました。

CRT 80に関連するフォルダとファイルを私の仕事用コンピュータのWinSxSディレクトリからターゲットプラットフォームにコピーしていました。

CRT dllを含む "x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989"という名前のディレクトリをコピーしました。 「ポリシー」および「マニフェスト」ディレクトリから関連ファイルをコピーしました。

0

すべてのEXEファイルとDLLを、CRTファイルを含めて1つのディレクトリに置きます。コピーは、適切な場所に置いておけば提供されます。

+0

ありがとうございます!私は同じことを試みたが、それは動作しません。また、ディレクトリが%PATH%環境変数に含まれていることを確認しました。 –

+0

PATHは必要ありません。 'LoadLibraryEx'はモジュールディレクトリを最初にチェックします。 Dependency Walkerをターゲット上で実行できますか? – MSalters

+0

Even dependency walkerに「エラー:「d:¥xxx¥yyy.DLL」のサイドバイサイド構成情報にエラーが含まれていますこのアプリケーションはアプリケーションの構成が正しくないため起動できませんでした。 (14001) 警告:遅延ロード依存モジュールのエクスポート機能がないため、少なくとも1つのモジュールに未解決インポートがあります。 –

関連する問題