1

約 19 の異なるコンポーネントで組み立てられたソフトウェアがあります。現在、19 のセットアップ プロジェクトと、メイン インストーラーである 1 つの Winforms プロジェクトを使用しています。Visual Studio 2012 にアップグレードしたいので、WiX に移行したいと考えています。私の質問は、WiX でそれを行うことは可能ですか? 現在のセットアップでは、ユーザーはチェックアウトしてインストールするコンポーネントを決定できます。そのような体験を WiX で作ることは可能でしょうか? また、将来、これらのコンポーネントの 1 つだけをアップグレードすることは可能ですか?

4

1 に答える 1

2

はい、Wix はこの種のことで素晴らしいです。それはFeaturesと呼ばれます。一連の機能をセットアップするだけです (デフォルトでインストールしたいもの (インストールする場合) がチェックされるようにレベルを設定できます。オプションのチェックは外されています (必要に応じて)。

Product  
-Feature 1  
-Feature 2  
--Feature 2 Documentation  
--Feature 2 Admin Tools  
-Feature 3 
(etc)

これらは、タイトル/説明などをサポートして、使いやすくします。

より高度な UI 機能をセットアップするには、WixUIExtension.dll への参照をインストーラー プロジェクトに追加し、UIRef 要素を製品に追加する必要があります (この記事を参照)。

<UIRef Id="WixUI_FeatureTree" />

インストールしたい「もの」ごとにフィーチャーをセットアップしてから、インストールしたいサブコンポーネントをいくつでも定義できるように、それぞれに ComponentGroup をセットアップすることをお勧めします。

上記を実行するスニペットを次に示します (完全に肉付けされていないことに注意してください。単なる例です)。

<UIRef Id="WixUI_FeatureTree" />

<ComponentGroup Id="Component1">
  <ComponentRef Id="Component1"/>
</ComponentGroup>

<Component Id="Component1" Directory="directorytobeinstalledto">
  <File Id="File1" Source="fileweareinstalling"/>
</Component>

<Feature Id="Feature1" Title="Feature 1" Description="My Feature 1" Level="1">
  <ComponentGroupRef Id="Component1"/>
</Feature>
<Feature Id="Feature2" Title="Feature 2" Description="My Feature 2" Level="1">
  <Feature Id="Feature2.Docs" Title="Feature 2 Documentation" Description="My Feature 2 Documentation" Level="1000"/>
  <Feature Id="Feature2.Admin" Title="Feature 2 Admin Tools" Description="My Feature 2 Administration Tools" Level="1000"/>
</Feature>
<Feature Id="Feature3" Title="Feature 3" Description="My Feature 3" Level="0"/> <!-- disabled! -->
于 2012-12-20T09:06:25.463 に答える