バックグラウンド:
3 つの構成/SKU (Basic、Standard、Enterprise など) と 2 つのプラットフォーム (x86、x64) を持つアプリケーションのセットアップを作成しています。構成が異なれば、異なるアップグレード コードが使用されます。
これにより、6 つの異なる構成のマトリックスが得られます。現在、構成ごとに個別の wxs スクリプトがありますが、セットアップに手動でファイルを追加する場合、それらすべてで正しく実行することを覚えておくことはほとんど不可能です。ほとんどのファイルは (コンテンツではなく名前で) 共有されているため、はSomeNamespace.SomeLibrary.dll
6 つのセットアップ パッケージすべてのファイルですが、6 つすべてが異なる可能性があります (プラットフォームによって、場合によっては構成によっても異なります)。
私の最初の質問は次のとおりです。サイズは大きくてもほとんど同じセットアップ スクリプトを複数保持する必要がないようにするにはどうすればよいでしょうか。
2 番目の問題: コンポーネント ID:
カスタム ハーベスターまたはテンプレートによって作成されたフラグメントを介して大量の wxs スクリプトを再利用できた場合、コンポーネント ID はどうすればよいですか? コンポーネントが製品間で共有されておらず、MajorUpgrade のみを使用している場合、生成された (*) GUID をコンポーネントに使用できますか? コンポーネント ID 生成のもう 1 つのオプションは、heat を使用するか、SHA1(相対インストール パス + 構成 + プラットフォーム) などの決定論的ハッシュを手動で作成することです。
大規模なマルチ構成のマルチプラットフォーム WiX プロジェクトの良い例はありますか?