modificar metaetiqueta etiquetas encabezado ejemplos código como codigo agregar agrega wix

metaetiqueta - WIX: Cómo seleccionar características desde la línea de comandos



metaetiqueta wix (3)

Cambiaría Feature1, Feature2 y Feature3 a Components, y 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]

Esta podría ser una pregunta ingenua. Tengo que editar manualmente un archivo .WXS para que admita funciones selectas 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 desde la línea de comando. Digamos, si escribo "msiexec / i install.msi FEATURE = A", entonces se instalan "Feature1" y "Feature2"; si escribo "msiexec / i install.msi FEATURE = B", entonces se instalan "Feature1" y "Feature3". En este caso, "A" se asigna a la Característica 1 y 2; Mapas "B" a la Característica 1 y 3.

¿Cómo lograr esto en WIX?



La respuesta aceptada ya menciona la propiedad ADDLOCAL, pero parece implicar que puede seleccionar solo 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 quiere usar estos trucos para crear un bootstrapper que instale ciertas características de paquetes msi de terceros.