2013-04-21 8 views
5

私はMicrosoft Visual C++ 2008ランタイム(x86)をインストールする必要がありますが、Googleを検索して、Microsoftが4種類の異なるバージョンMicrosoft Visual C++ 2008ランタイムのこれらの4つのバージョンの中から必要なMicrosoft Visual C++ 2008ランタイム

  1. Microsoft Visual C++ 2008再頒布可能パッケージ(x86)に公開 日:2007年11月29日

  2. のMicrosoft Visual C++ 2008 SP1再頒布可能パッケージ(x86)に公開 日: 9/16/2008

  3. 公表
  4. のMicrosoft Visual C++ 2008のService Pack 1再頒布可能パッケージATLのセキュリティ更新プログラム 日:2010年9月29日

  5. のMicrosoft Visual C++ 2008のService Pack 1再頒布可能パッケージMFCのセキュリティ更新プログラム 日に公開:6月7日/ 2011

たバイナリ私は第四1は、私が第一のランタイムを使用して構築されたアプリケーションを実行することができますダウンロードした場合(上記、ダウンロードしてください今すぐ: - 1.のMicrosoft Visual C++ 2008再頒布可能パッケージ(x86 ) - 発行日:2007/11/29)。

またはすべてを順番に1つずつインストールする必要があります。教えてください。

FYI:1.私はすでに転記する前にstackoverflowを検索し、答えを見つけられませんでした。 2.私はこの言葉をgoogleで検索しました: - VC++ 2008

答えて

1

私はそれらをすべて時系列に推薦したいと思います。 インストーラの中には、バイナリカスタムアクションを使用するものもあります(InstallShieldなど)。これらのインストーラは、マニフェストにハードコードされた依存関係を持つことがあります。 軽量で、互いに衝突することはありません。

+1

私は答えた人すべてを尊敬しますが、私はすでに@andアドバイスをしてくれて恐れています。 VC++ 6とVC++ 9には、VC++でコンパイルされた古いバイナリがあったので、PHP 5.2とPHP 5.3の両方のバージョンとApacheの2つのバージョンとmysqlの2つのバージョンを実行することができました。 6と新機能はVC++ 9にあります(前回チェックしたとき)。apache.orgはPHP.netで使用されている同じバージョンのApacheをコンパイルしませんので、GODに感謝し、皆様のご支援をいただきました。私はWindowsを使用しています。 – Sam

1

公表1. Microsoft Visual C++ 2008再頒布可能パッケージ(x86)日付:2007年11月29日

これは、あなたは、Visual Studio 2008でコンパイルされた32ビット(x86)のアプリケーションのために必要な1 。

公表2.のMicrosoft Visual C++ 2008 SP1再頒布可能パッケージ(x86)日付:上記のように2008年9月16日

同じ、EXCこれにはService Pack 1(SP1)からの更新が含まれています。 Visual Studio 2008 Service Pack 1を使用してアプリケーションをコンパイルした場合は、上記の代わりにこれを使用してください。

Visual Studioのバージョンとサービスパックのレベルは、IDEのヘルプ - >バージョン情報で確認できます。公表され

3のMicrosoft Visual C++ 2008のService Pack 1再頒布可能パッケージATLのセキュリティ更新日:2010年9月29日

4。マイクロソフトのVisual C++ 2008のService Pack 1再頒布可能パッケージMFCのセキュリティ更新プログラムの公開日:2011年6月7日

私は、これら二つは上記の再頒布可能パッケージにだけオプションの更新プログラムがあるかどうかを名前から言うことができない、または彼らがいるかどうか完全再配布可能なパッケージのオプションのアップデートを含めます。

どちらの方法でも、アプリケーションがATLまたはMFCで書かれている場合にのみ必要です。


、これはあまりにも混乱している場合、あなたも、あなたのアプリケーションを配布するときに、これらの再配布可能なインストーラのいずれかを使用する必要はありませんので注意してください。実行可能ファイルと同じフォルダに必要なランタイムDLLを配置するだけで、うまく動作します。

必要なライブラリの正しいバージョンが、Visual Studioインストールの一部としてコンピュータにコピーされます。

<Program Files folder>\Microsoft Visual Studio 9.0\VC\redist\x86 
+0

"*実行可能ファイルと同じフォルダに必要なランタイムDLLを置くことができるだけですか?" "安定して*サポートされていますか?もしそうなら、なぜそれは開発者がこれを行うように見えないのですか? – Pacerier

+0

はい、安定してサポートされています。これは、2000年頃から、おそらく以前に行われたことが推奨されています。私はあなたが考えている開発者が何であるか分かりません。私は彼らの多くが誰かを見る。 macOSでは、アプリケーションのディレクトリはアプリケーションバンドルです。すべての依存関係はアプリケーションディレクトリになければなりません。 * Nothing *はシステムフォルダに属します。これらはシステムファイル用です。 @pacerier –

+0

この勧告を複雑にし始めた唯一の事は、実際には*システムコンポーネントであり、WindowsのWindows UpdateによってサービスされているVS 2015と一緒に出荷されたUniversal CRTです。しかし、この回答は、年。また、ユニバーサルCRTではアプリローカル展開がサポートされています。下位オペレーティングシステムをサポートする必要があり、インストールされているアップデートパッケージに頼っていない(またはアップデートインストーラを自分で出荷する必要がある場合は) )。 –

2

直感的な選択は正しいですが、最新のバージョンをインストールしてください。これらのインストーラは、古いバージョンを新しいバージョンに尋ねるプログラムをリダイレクトするパブリッシャポリシーファイルも展開します。批判的なバグ修正やセキュリティアップデートを有効にするための基本的な仕組みはどれですか?

また、より鈍い言い方をすると、パブリッシャーポリシーはDLL Hell対策に対する対策になります。彼らはうまくいく、私は決して誰もがこれらのDLLのバージョン管理の問題について不満を聞いたことはありません。より典型的なDLL Hellの問題は、これらのside-by-side DLLでは発生しない古いバージョンのDLLを上書きすることです。プログラムが新しいファイル(.manifestファイルを参照)を要求したときに古いバージョンをデプロイするのは、失敗鯨です。

+0

しかし、すべてが下位互換性がありますか?プログラムが古いバージョンを前提としていて、互換性がない新しいバージョンを持っていたら、問題の可能性はありませんか? – Pacerier

+0

"**完全に**下位互換性がある"という意味です。 – Pacerier

+0

マイクロソフトは面白い会社です。更新プログラムによってプログラムが壊れた場合、回避策または修正プログラムが提供されます。無料です。サポートコールの手数料が返金されます。私は個人的にそれを2回利用しました。 C/C++ライブラリ用ではありません。 –

関連する問題