.net - metaetiqueta - wix head tag
¿Cómo distingo entre una instalación normal y una actualización en WIX? (1)
Yo uso esto en todas mis configuraciones:
<SetProperty After="FindRelatedProducts" Id="FirstInstall" Value="true">
NOT Installed AND NOT WIX_UPGRADE_DETECTED AND NOT WIX_DOWNGRADE_DETECTED
</SetProperty>
<SetProperty After="SetFirstInstall" Id="Upgrading" Value="true">
WIX_UPGRADE_DETECTED AND NOT (REMOVE="ALL")
</SetProperty>
<SetProperty After="RemoveExistingProducts" Id="RemovingForUpgrade" Sequence="execute" Value="true">
(REMOVE="ALL") AND UPGRADINGPRODUCTCODE
</SetProperty>
<SetProperty After="SetUpgrading" Id="Uninstalling" Value="true">
Installed AND (REMOVE="ALL") AND NOT (WIX_UPGRADE_DETECTED OR UPGRADINGPRODUCTCODE)
</SetProperty>
<SetProperty After="SetUninstalling" Id="Maintenance" Value="true">
Installed AND NOT Upgrading AND NOT Uninstalling AND NOT UPGRADINGPRODUCTCODE
</SetProperty>
Luego puede programar su acción personalizada para que solo se ejecute en las actualizaciones:
<Custom Action="NameOfCustomAction" Before="InstallFinalize"><![CDATA[Upgrading= "true"]]></Custom>
Tengo algunas acciones personalizadas que solo quiero ejecutar en un escenario de actualización.
Estoy intentando establecer algunas propiedades, por ejemplo, "MYPROPERTY" ... Cuando entro a través de una instalación estándar, puedo configurarlas, y un ejemplo de ese XML es el siguiente ...
<Custom Action="SetMyPropertyToOn" After="exampleActionRuuningBeforeThisOne"> (ENABLEMYPROPERTY_CB) AND (NOT ENABLEMYPROPERTY_CB="0") AND (NOT ENABLEMYPROPERTY) AND (NOT Installed)</Custom>
Se ejecuta en una instalación normal ... También me gustaría que se ejecute en un escenario de actualización.