2011-12-16 7 views
0

こんにちは私は働いているシステム。

windows 7 ultimate sp1 x64。
ビジュアルスタジオ9 C++ sp1。
directx sdk 9(私の特定のバージョンはわかりませんが、バージョンは2010年6月よりも高いです)。
ブーストx86の1.47

vC++ 2008インストーラプロジェクトmsvcrt.dll

と私のVisual Studioは、英語版ではありませんので、私はexcaetlyメニューやメッセージの名前を書いて傾けます。それは意味がほぼ同じです。

私のプロジェクトは3Dゲームです。
私のプロジェクトのインストーラをVisual Studioの 'インストーラプロジェクト'
を使って作成し、すべてのプロジェクトの依存DLLを(Visual Studioの機能を使用して)含めます。
すべてが問題ありません。インストールと実行のテストは成功です。すべてのDLLが正常にインストールされます。 (ex d3d9.dll)

純粋なウィンドウズXP sp3でテストしたところ、install(setup.exe)は成功しました。しかし、私はこのプログラムを実行すると、エラーを出力して実行されません。

プロシージャエントリpoint_except_handler4_commonがダイナミックリンクライブラリMSVCRT.DLLに配置することができませんでした:


エラーダイアログがあることです。

(私のWindows XPのは、英語ではありませんが、それはほとんど右)

私は、次の試してみました:
インストーラプロジェクト - > "プロパティ" - > "前提条件.." - >「その前提条件を選択してください" - >" Visual C++ 2010ランタイムライブラリ(x86)& .Net Framework 3.5 sp1 - > "前提条件のインストール場所を指定する" - > "コンポーネントベンダーのWebから前提条件をダウンロードするサイト」



出力は
installerproject.msi
vcredist_x86.exeを
のsetup.exe

私はvcredist_x86し、再起動を再インストールしてみてください。クライアントコンピュータ(純粋なウィンドウxp3)は同じ問題を抱えています。 Googleは「msvcrt.dllは多くの問題を引き起こしている」と述べています。私の発見したリストの中で私の問題を解決する記事はありません。 - そして、彼らは私を助けてください

?「一般的な解決策:(
この問題の解決策を知っている?そして、なぜこの問題が発生すると言いません。そして私は私の最短英語すみません。それは私の最高の英語スキル
です

+0

あなたの答えは私にとって非常に便利です。 d3d9.dllはmsvcrt.dllに依存します – user1101221

答えて

1

XPマシンのプログラムをDependency Walkerにロードして、msvcrt!_except_handler4_commonにリンクしようとしているバイナリを確認したい場合があります。

msvcrt.dllは、システムDLLであり、Visual C++ 2008(または、あなたが使用しているのは明らかではありません)のランタイムライブラリの一部ではありません。 VC++ 2008のランタイムDLLの名前はmsvcr90.dllなので、msvcrt.dllに間接的な依存関係があると思います。どのバイナリがそのエクスポートをmsvcrt.dllから使用しようとしているのか把握し、それがWinXPと互換性があるかどうか、または互換性があるかどうかを判断する必要があります。

msvcrt.dllはシステムDLLであるため、Windowsのシステムファイル保護機能のため、一般的にはサービスパックやシステムアップデート以外では更新/変更できません。ただ、比較のため

は:

  • のWinXP SP3を実行しているマシンここmsvcrt.dllバージョン7.0.2600.5512を持っている - それは_except_handler4_commonエントリポイントを持っていません。
  • Win7 SP1 x64を実行している別のマシンには、32ビットのmsvcrt.dllバージョン7.0.7600.16385があり、そのエントリポイントはあります。
関連する問題