ファイル セットに C++ ランタイム DLL への 1 つ以上の依存関係を持つ DLL が含まれている場合、VCRedist.exe からファイルをインストールする必要があります。各 DLL は C++ ランタイムの特定のバージョンに依存しているため、これは難しい場合があります。
ランタイム再配布可能ファイルをインストーラーに自動的に追加するにはどうすればよいですか?
WinSxS で異なるバージョンの C++ ランタイムを必要とする DLL を処理するにはどうすればよいですか?
ライブラリに必要な最新バージョン (最高) のバージョンと、古いバージョンを新しいバージョンにリダイレクトするポリシー ファイルをインストールする必要があります。
どちらも、Visual Studio と共にインストールされたマージ モジュールで実行できます。通常は にありC:\Program Files\Common Files\Merge Modules
ます。インストーラーで Visual C++ 再頒布可能パッケージをインストールする方法MergeRef
の要素と例を参照してください。また、ポリシー マージ モジュールをインストールに追加する必要があります。
最新の vcredist がインストールされていることを確認するだけで、古いバージョンのサポートが自動的に含まれます。
インストーラーが実行される前に、ブートストラップを使用してランタイムをインストールするのが最も簡単だと思います。独自のパッケージを作成する必要があるかもしれませんが、これにはBootstrapper Manifest Generatorを使用すると簡単です。
product.xml で、インストール チェックを追加して、2 回インストールされていないことを確認できます。次に例を示します。
<InstallChecks>
<MsiProductCheck Property="VCRedistInstalled" Product="{1F1C2DFC-2D24-3E06-BCB8-725134ADF989}"/>
</InstallChecks>
その他の GUIDについては、こちらを参照してください。
heat も Votive も、要求された機能をサポートしていません。ランタイム DLL は手動で追加する必要があります。