2012-07-20 24 views
11

tengo una instalación MSI así:Cómo hacer mejoras importantes al utilizar quemadura/WiX 3.6

<Product Id="*" ... UpgradeCode="4207FF3B-5E0D-4311-9DFC-B41AA8DE2965" /> 
    <MajorUpgrade DowngradeErrorMessage="Can't downgrade" /> 

Funciona como se esperaba:

  1. Instalar producto
  2. recompilación (generando efectivamente una ID nuevo)
  3. Al iniciar el nuevo archivo msi aparece la vista de cambio y puedo reparar o desinstalar el producto.

Bueno. Pero luego viene quemado.

He creado el Bundle más simple de una cosa. Yo uso el bootrapper estándar y acaba de añadir una sola MsiPackage:

<MsiPackage SourceFile="$(var.Setup.TargetPath)" /> 

El problema es que después de cada recompilar puedo instalar el producto, una vez más junto al producto ya instalado, sin cambiar nada! ¡Esto da como resultado entradas ARP duplicadas!

Si no vuelvo a compilar y ejecutar el paquete exe-file dos veces, obtengo la pantalla de configuración de modificación como se esperaba. ¿Qué puedo hacer para tener el mismo comportamiento con burn que tuve con solo un MSI?

Respuesta

7

Incremente el número de versión del paquete y Burn actualizará la versión anterior y la eliminará.

+3

Sí, gracias. ¿Pero realmente no hay forma de prevenir una instalación lado a lado sin incrementar el número de versión? Me gustaría tener el mismo comportamiento que con el paquete MSI. –

+2

La aplicación bootstrapper puede anular el comportamiento no operativo predeterminado al cambiar el estado de solicitud en OnPlanRelatedBundle. –

+0

¿Sobre qué anularías el estado de solicitud para que esto funcione? ¿Presente? –