質問

これは素朴な質問かもしれません。コマンドラインからの選択機能をサポートするには、.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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top