私はWiXを使用してMSIインストーラを構築しています。インストールされる製品にはVC++ランタイムが必要なので、(a)対応するマージモジュールを使用し、(b)実際の製品のMSIより前にvcredistを実行するためにburnを使用するという2つのオプションがあります。これらの2つのオプションの間で異なるために私は情報を見つけられなかったいくつかの質問があります。WiX - VC++ランタイム - vcredistとマージモジュール
1)マージモジュールを使用している場合は、ランタイムは別途インストールされません(追加と削除のプログラムにはエントリがありません)が、理解できる限り、必要なファイルが対応する場所にコピーされます。
1.1)すでにシステムにvcredistがインストールされている場合、マージモジュールは製品のインストール中に何もしないと思いますか?
1.2)1.1で述べたようなvcredistのインストールがあった場合、ユーザーは単にプログラムの追加と削除でそのランタイムをアンインストールするだけですか?私は製品がもう動作しないと思う。(少なくとも、修復インストールが実行され、MSIのマージモジュールに必要なファイルが再追加されるまで)
1.3)vcredistがまだインストールされていないとMSIインストーラーがファイルをシステムにコピーした後、別のインストーラーまたはユーザーがvcredist.exeを呼び出して何が起きていますか? vcredistはランタイムを既にインストールされていると報告しますか?
1.4)製品をアンインストールすると、マージモジュールを介してシステムにコピーされたファイルが削除されますか?
1.5)1.4)yes(VC++ランタイムファイルが削除されている場合):同じマージモジュールを内部的に使用し、2つの製品のいずれかがアンインストールされている2つの異なる製品がシステムにインストールされている場合インストールされたランタイムファイル?ランタイムファイルがないため、これらのファイルは削除され、他の製品はもう機能していませんか?
ご協力いただきありがとうございます。
よろしく、 グンナー
ご清聴ありがとうございます。vcredist.exeでBurnを使用することを推奨するいくつかの記事と説明を見つけ、マージモジュールを使用しない理由をわかりやすく伝えることなく、それらをマージモジュールの使用法と連動させてインストールした製品を勧めました。ブートストラッパはmsiファイルの代わりに常にexeファイルを作成するので(後者は私の会社のインストーラを配布するための好ましい方法です)、MMの代わりにvcredist.exeチェインを実際に使用する必要があるかどうかは不思議でしたその場合には。 – Gunnar