これは素朴な質問かもしれません。コマンドラインからの機能の選択をサポートするように、.WXSファイルを手動で編集する必要があります。
たとえば、.WXSファイルには3つの機能があります。
<Feature Id="AllFeature" Level='1'>
<Feature Id="Feature1" Level='1'> </Feature>
<Feature Id="Feature2" Level='1'> </Feature>
<Feature Id="Feature3" Level='1'> </Feature>
</Feature>
ここで、コマンドラインから機能を選択したいと思います。たとえば、「msiexec/i install.msi FEATURE = A」と入力すると、「Feature1」と「Feature2」がインストールされます。 「msiexec/iinstall.msi FEATURE = B」と入力すると、「Feature1」と「Feature3」がインストールされます。この場合、「A」は機能1と2にマップされます。 「B」は機能1および3にマップされます。
WIXでこれを達成する方法は?
Feature1、Feature2、Feature3をComponentsに変更してから、次のように宣言します。
<Feature Id="FEATUREA" Title="Super" Level="1" >
<ComponentRef Id="Component1" />
<ComponentRef Id="Component2" />
</Feature>
<Feature Id="FEATUREB" Title="Super1" Level="1" >
<ComponentRef Id="Component1" />
<ComponentRef Id="Component3"/>
</Feature>
次に、FeatureAまたはFeatureBのいずれかをインストールします
msiexec /i install.msi ADDLOCAL=[FEATUREA | FEATUREB]
受け入れられた回答はすでにADDLOCALプロパティについて言及していますが、選択できる機能は1つだけであることを示唆しているようです。次のようにコンマで区切ることにより、実際には複数の機能を選択できます。
msiexec /i install.msi ADDLOCAL=Feature1,Feature2
または
msiexec /i install.msi ADDLOCAL=Feature2,Feature3
別のヒント: orca でmsiを開くと、これらの機能名を見つけることができます。これは、これらのトリックを使用して、サードパーティのmsiパッケージの特定の機能をインストールするブートストラップを作成する場合に非常に役立ちます。
機能のインストール状態を制御できるプロパティは多数あります。このMSISDKドキュメントとそこからのリンクを確認してください: http://msdn.Microsoft.com/en-us/library/aa367536(VS.85).aspx