Pregunta

Esta podría ser una pregunta ingenua. Tengo que editar manualmente un archivo .WXS para que admita funciones de selección desde la línea de comandos.

Por ejemplo, hay 3 funciones en el archivo .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>

Ahora, quiero seleccionar características de la línea de comando. Por ejemplo, si escribo " msiexec / i install.msi FEATURE = A " ;, luego " Feature1 " y " Feature2 " esta instalado; si escribo " msiexec / i install.msi FEATURE = B " ;, entonces " Feature1 " y " Feature3 " esta instalado. En este caso, " A " mapas de las funciones 1 y 2; " B " se asigna a la Característica 1 y 3.

¿Cómo lograr esto en WIX?

¿Fue útil?

Solución

Cambiaría Feature1, Feature2 y Feature3 a Componentes, luego declararía algo como esto:

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

Luego, para instalar FeatureA o FeatureB

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

Otros consejos

La respuesta aceptada ya menciona la propiedad ADDLOCAL, pero parece implicar que solo puede seleccionar una característica. En realidad, puede seleccionar varias funciones separándolas con comas como esta:

msiexec /i install.msi ADDLOCAL=Feature1,Feature2

o

msiexec /i install.msi ADDLOCAL=Feature2,Feature3

Otra sugerencia: puede descubrir estos nombres de funciones abriendo el msi con orca . Esto es muy útil cuando desea utilizar estos trucos para crear un programa de arranque que instale ciertas funciones de paquetes msi de terceros.

Hay una serie de propiedades que pueden controlar los estados de instalación de las Características. Consulte esta documentación del SDK de MSI y los enlaces que contiene: http: //msdn.microsoft.com/en-us/library/aa367536(VS.85).aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top