WIX-пользовательские действия при установке, но не при удалении или обновлении
У меня есть установщик wix, где у нас есть несколько пользовательских действий, таких как регистрация и т. д. Однако мы хотим, чтобы они запускались только при установке, а не при обновлении или удалении.
Я попытался установить его не установлен и переустановить, но это тоже не работает.
кто-нибудь знает, что такое правильное свойство, когда вы хотите запускать определенные приложения с помощью пользовательских действий только при установке, а не при обновлении или удалении?
<InstallExecuteSequence>
<Custom Action="PosConfig.CustomAction" Before="StartServices"><![CDATA[NOT Installed AND NOT UPGRADINGPRODUCTCODE AND UILevel>3]]></Custom>
<Custom Action="Register.CustomAction" After="PosConfig.CustomAction">NOT Installed AND NOT UPGRADINGPRODUCTCODE </Custom>
<Custom Action="OPOSSelectorFirst.CustomAction" After="Register.CustomAction"><![CDATA[NOT Installed AND NOT UPGRADINGPRODUCTCODE AND &ProductFeature=3 AND Not OPOSDLLINSTALLED]]></Custom>
<Custom Action="OPOSSelectorUpdate.CustomAction" After="OPOSSelectorFirst.CustomAction"><![CDATA[NOT Installed AND NOT UPGRADINGPRODUCTCODE AND &ProductFeature=3 AND Not OPOSDLLINSTALLED]]></Custom>
</InstallExecuteSequence>
правка: добавил моя пользовательская последовательность действий.
2 ответов
NOT Installed AND REINSTALL
никогда не может быть правдой одновременно. Это означает, что приложение не установлено, но в настоящее время вновь установлен. Как это работает?
запланируйте пользовательское действие, используя вместо этого следующее условие:
NOT Installed AND NOT UPGRADINGPRODUCTCODE
это предотвращает его срабатывание при крупных обновлениях.
UPGRADINGPRODUCTCODE в действие RemoveExistingProducts. В зависимости от вашего MajorUpgrade Schedule
Это может быть слишком поздно. Я пришел к решению NOT Installed AND NOT WIX_UPGRADE_DETECTED
.