質問
これは素朴な質問かもしれません。コマンドラインからの選択機能をサポートするには、.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」」インストールされている; &msi; / msiexec / i install.msi FEATURE = B&quot;と入力すると、&quot; Feature1&quot;および「Feature3」」インストールされます。この場合、「A」は機能1および2にマップします。 &quot; B&quot;機能1および3にマップします。
WIXでこれを実現する方法
解決
Feature1、Feature2、Feature3をコンポーネントに変更し、次のように宣言します:
<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 SDKドキュメントとそこからのリンクを確認してください: http: //msdn.microsoft.com/en-us/library/aa367536(VS.85).aspx