2009-02-24 18 views
33
  • ¿Cuál es la diferencia entre un WiX incluido (archivo .wxi) y un fragmento de WiX (archivo .wxs)?
  • ¿Cuáles son los casos de uso para cada uno?
  • ¿Cuál debería utilizar y por qué?

Respuesta

20

La extensión de archivo es una conveniencia, el contenido del archivo es lo que realmente importa. La distinción hace que sea más fácil administrar la diferencia entre la instalación real (archivos wxs) y las propiedades requeridas para crear la instalación (archivos wxi).

Por ejemplo, los archivos de WXS especificar el producto y su contenido (los archivos que instala), mientras que usaría sus archivos WXI para especificar la versión del producto, actualizar los códigos, caminos comunes, etc.

La documentación proporciona WiX alguna información clara.

19

Personalmente, yo sólo uso .wxi archivos para incluir comunes <?define?> s. Organizo el resto de mi producto en muchas agrupaciones lógicas diferentes de Fragmentos. Trate los Fragmentos como funciones en su lenguaje de procedimiento típico. Agrupe cosas similares y no las haga demasiado largas.

0

Una cosa a tener en cuenta es que agregar un archivo wxs a su proyecto implica que MSBuild hará una compilación incremental cuando actualice el archivo wxs. Incluir un archivo wxi no hace esto.

Pero, por otro lado, MSBuild no está haciendo construcciones automáticas cuando alguno de los archivos que está incluyendo en su msi ha sido actualizado, por lo que probablemente no esté haciendo compilaciones incrementales de todos modos.