2009-08-05 17 views
0

私のmfcアプリケーションがVisual Studio 5で作成され、Windows Server 2000 sp4で実行されていますが、私はそのリリースを作成してxp slp2を実行してみてください。それは私が次のことを試してみました ++ 2005 SP1再頒布可能パッケージ(x86)、リリースフォルダ内に入る1と同様にコピーされたウェブサイト から1件のダウンロード-InstallのMicrosoft Visual Cを(0xc0150002)アプリケーションが正しく初期化できませんでした私にアプリケーションが正常に初期化できませんでした(0xc0150002)

を与えますすべてのdllとmainfestは、Microsoft Visual Studioで\ vc \ redist

私はまだ同じメッセージを受け取ります。 C

間違っている可能性が私はそれを修正することができますどのようにチェックする

+0

http://stackoverflow.com/a/10084733/279982 – atoMerz

答えて

0

いくつかのもの:?

  • は、プロジェクトのために/ SUBSYSTEMリンカオプションを確認してください。 OSのメジャー/マイナーバージョン番号が含まれている可能性があります。
  • DEVマシンで適切なWindows XP PlatformSDKを使用していることを確認してください。 が、問題は、アプリケーションがターゲット・マシン上のそれとが必要です
  • チェックランタイムのバージョンは、未解決の依存関係にあるかどうかを確認するために依存WINVERの値は、_WIN32_WINNT
  • 使用することを確認してください。私は通常、片側からターゲットマシンのWinSxSフォルダーに別のアプリケーションのマニフェストを表示することでこれを行います(最近Microsoft http://msdn.microsoft.com/en-us/visualc/ee309358.aspxのATLセキュリティーアップデートがありました;更新されたVisual Studioによって作成された新しいバイナリは、同じ更新された実行時バージョン)。
0

VS2005 SP1にセキュリティ更新プログラムまたはコンパイラの更新プログラムを適用している可能性があります。これにより、Microsoft Visual C++ 2005 SP1再頒布可能パッケージ(x86)と共にインストールされたものとは異なるMFC/CRT-dllを要求するマニフェストが生成されます。

Depends.exeを使用してアプリケーションを開き、メニューで[プロファイル]を選択してください。より詳細な説明については、以下の出力ウィンドウを参照してください。

0

デバッグバージョンを実行しようとしていますか? 0xc0150002に似たエラーが表示されることがあります。リリースビルドを試してください。そうしないと、ダイナミックライブラリではなく静的ライブラリに対してコンパイルできます。リリースビルドでこの問題が発生した場合は、DLLが見つからない場合(その場合はDepends.exeを実行してください)、または間違ったマニフェストがある可能性があります。

ランタイムDLLに依存していない場合は、適切なランタイムDLLを検出してインストーラにビルドするため、そのためのデプロイメントプロジェクトを作成できます。

関連する問題