Domanda

Questa potrebbe essere una domanda ingenua. Devo modificare manualmente un file .WXS per supportarlo selezionare le funzionalità dalla riga di comando.

Ad esempio, ci sono 3 funzioni nel file .WXS.

<Feature Id="AllFeature" Level='1'>

    <Feature Id="Feature1" Level='1'> </Feature>

    <Feature Id="Feature2" Level='1'> </Feature>

    <Feature Id="Feature3" Level='1'> </Feature>

</Feature>

Ora, voglio selezionare le funzionalità dalla riga di comando. Ad esempio, se digito " msiexec / i install.msi FEATURE = A " ;, quindi " Feature1 " e " Feature2 " è installato; se digito " msiexec / i install.msi FEATURE = B " ;, quindi " Feature1 " e " Feature3 " è installato. In questo caso, "A" si associa alle funzioni 1 e 2; & Quot; B " esegue il mapping alle funzioni 1 e 3.

Come realizzare ciò in WIX?

È stato utile?

Soluzione

Vorrei cambiare Feature1, Feature2 e Feature3 in Components, quindi dichiarerei qualcosa del genere:

<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>

Quindi installare FeatureA o FeatureB

msiexec /i install.msi ADDLOCAL=[FEATUREA | FEATUREB]

Altri suggerimenti

La risposta accettata menziona già la proprietà ADDLOCAL, ma sembra implicare che è possibile selezionare solo una funzione. Puoi effettivamente selezionare più funzionalità separandole con virgole come questa:

msiexec /i install.msi ADDLOCAL=Feature1,Feature2

o

msiexec /i install.msi ADDLOCAL=Feature2,Feature3

Un altro suggerimento: puoi scoprire questi nomi di funzionalità aprendo la msi con orca . Ciò è molto utile quando si desidera utilizzare questi trucchi per creare un bootstrapper che installa alcune funzionalità dei pacchetti msi di terze parti.

Esistono diverse proprietà che possono controllare gli stati di installazione delle funzionalità. Consulta questa documentazione dell'SDK MSI e i relativi collegamenti: http: //msdn.microsoft.com/en-us/library/aa367536(VS.85).aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top