[プログラムの追加と削除]に複数のエントリがあるWIXインストーラー
-
03-07-2019 - |
質問
WIXを使用してApplication Suiteのインストーラーを開発していますが、その構造は
以下:
アプリケーションコア
     | _ _ Flavor1
     | _ _ Flavor2
     | _ _ Flavor3
Application CoreはVisual Studioのような製品で、Flavors 1,2,3はその下のサブ製品です。
これが私の問題です、
-追加削除プログラムには、Application Core、Flavor1、Flavor2、Flavor3の4つのエントリが必要です。
-Flavor1、Flavor2、Flavor3を追加/削除するためにインストーラを再起動できるはずです。
解決
更新: Officeは個別の機能ではなく個別の機能をインストールするように見えますが、ARPに表示されない多くの個別の製品をインストールすることに注意してください。ブートストラップインストーラーを起動するために別のARPエントリが追加され、ARPに表示されない既存の製品の追加、削除、および更新が維持されます。
これらは機能であり、個別の製品ではありません。たとえば、Microsoft Officeスイートをインストールします。スイートをインストールすると、[プログラムの追加と削除]にエントリが1つしかなく、Word、Excel、PowerpointなどはすべてMicrosoft Officeの「機能」であり、そのように更新します。
ただし、これらのアプリケーションの一部は、独自のインストーラーで個別に購入できます。これらの場合、「アプリケーションコア」置くと、各インストーラに含まれ、共有コンポーネントを使用するため、ファイルを2回インストールする必要がなく、各アプリケーションを互いに独立してインストール/アンインストールできます。
のWindowsインストーラードキュメントからの抜粋です。コンポーネントと機能(アプリケーションをコンポーネントに整理する)
同じものを共有する2つのコンポーネント コンポーネントIDは複数として扱われます 同じコンポーネントのインスタンス 実際のコンテンツに関係なく。 いずれかの単一のインスタンスのみ コンポーネントはユーザーの コンピューター。いくつかの機能または したがって、アプリケーションは コンポーネント。
他のヒント
通常、これは1つの製品をインストールすることで実現されるため、[プログラムの追加と削除]の1つのエントリを変更できます(製品を選択して[変更]ボタンをクリックします)。次に、機能を追加または削除できる機能ツリーに移動します。
個別のエントリが厳しい要件である場合、複数のMSIを作成する必要があります。ただし、その後、「Application Core」をアンインストールできます。あなたの例では、他のものをインストールしたままにして、フレーバーに問題を引き起こしています
機能が必要なように聞こえるので、Sanderが私の+1を取得します。
ただし、場合によっては、同じ製品の異なるインストールが必要になることがあります。同じサーバーにインストールされたトレーニングおよびテストバージョン。そのような場合、別のアプローチを見つける必要があります。ここに1つがあります(回答 Create Live、... をご覧ください)。ファイルごとのコンポーネントの作成とGUIDのワイルドカードに関する編集に注意してください。これによりプロセスが簡素化されます。つまり、BeforeBuild / AfterBuildのトリックは不要です。