2008-10-29 10 views
28

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.WIX: Cómo seleccionar características de 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, deseo seleccionar funciones desde la línea de comandos. 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" en la Característica 1 y 3.

¿Cómo lograr esto en WIX?

Respuesta

29

que cambiaría característica1, característica2 y Feature3 a los componentes, entonces sería declarar 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 de instalar ya sea FeatureA o FeatureB

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

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

msiexec /i install.msi ADDLOCAL=Feature1,Feature2 

o

msiexec /i install.msi ADDLOCAL=Feature2,Feature3 

Otra pista: se puede descubrir estos nombres de características mediante la apertura de la 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.

+0

El comando msiexec que puse fue para la pregunta, pero estoy de acuerdo en que puede tener varias características de la línea de comando – CheGueVerra

+0

Gracias, por mencionar la utilidad Orca. –

+1

Mencionaré una mejor utilidad: InstEd It (http://www.instedit.com/) que es gratuito para la mayoría de los casos de uso –

Cuestiones relacionadas