Hemos creado el instalador WIX para nuestra aplicación. El problema al que nos enfrentamos es: Hemos definido dos acciones personalizadas diferentes (por ejemplo, ActionForInstall y ActionForUninstall) que queremos realizar en el siguiente caso: ActionForInstall: debe ejecutarse durante la instalación, actualización del producto, modo de mantenimiento (para reparar y modificar) ActionForUninstall : Debería ejecutarse solo para la desinstalación.Realizar acciones personalizadas según el modo - WIX
Pero no podemos establecer el estado correcto. Puede consultar el código:
<Custom Action=ActionForInstall After='InstallFinalize' >
(NOT Installed) OR (Installed AND ((MaintenanceMode = "Modify") OR (MaintenanceMode = "Repair")) AND (NOT (MaintenanceMode = "Remove"))) OR ((UPGRADINGPRODUCTCODE) AND NOT(REMOVE ~= "ALL"))
</Custom>
<Custom Action=ActionForUninstall Before='InstallFinalize'>
Installed AND NOT UPGRADINGPRODUCTCODE
</Custom>
Háganos saber lo que hemos hecho mal. El código anterior está llamando a InstallFinalize incluso para la desinstalación.
hoja de trucos de utilidad: http://www.flexerasoftware.com/webdocuments/PDF/IS-CHS-Common-MSI-Conditions.pdf. Me gusta deshabilitar las acciones personalizadas para correcciones de parches de MSI agregando NOT PATCH a la lista existente de condiciones, así como NOT UPGRADINGPRODUCTCODE para deshabilitarlas también para las principales actualizaciones. –