アプリケーションが Visual C++ ランタイムに依存している場合は、それらをインストーラーの一部として含めて、エンド ユーザーのインストール エクスペリエンスを簡素化できます。この方法では、Visual C++ ランタイム マージ モジュールをインストーラーに含める方法と、予想される ICE 警告について説明します。
手順 1: 正しい Visual C++ ランタイム マージ モジュールを取得する Visual C++ ランタイム マージ モジュールは、Visual Studio と共にインストールされ、\Program Files\Common Files\Merge Modules にあります。Visual C++ 8.0 ランタイム ファイルは Microsoft_VC80_CRT_x86.msm です。これと同じ MSM が Visual C++ 8.0 SP1 ランタイムに使用されますが、Visual Studio 2005 SP1 インストーラーによって更新されます。Visual Studio 9.0 ランタイム ファイルは Microsoft_VC90_CRT_x86.msm です。通常、ポリシー MSM をインストールの一部として含める必要はありません。
ステップ 2: インストーラーにマージ モジュールを含める インストーラーにマージ モジュールを含めるには、 要素と 要素を使用します。次の例は、これらの要素の使用方法を示しています。
Merge 要素により、マージ モジュールが最終的な Windows インストーラー パッケージに含まれるようになります。Id 属性を使用して一意の ID が割り当てられます。SourceFile 属性は、マシン上のマージ モジュールの場所を指します。DiskId 属性は、プロジェクトの Media 要素で指定された DiskId と一致する必要があります。Language 属性は常に 0 である必要があります。
MergeRef 要素は、マージ モジュールを実際にインストールするために Feature 要素内で使用されます。上記の例では、ランタイムに固有の機能が作成され、インストーラーが使用する UI に表示されないように非表示としてマークされています。MergeRef は、一意の ID によってマージ モジュールを参照します。