我们已经为我们的应用程序创建了 WIX 安装程序。我们面临的问题是:
我们已经定义了两个不同的自定义操作(比如 ActionForInstall 和 ActionForUninstall),我们希望在以下情况下执行这些操作:
ActionForInstall :应该在安装、产品升级、维护模式时运行(用于修复和修改)
ActionForUninstall :应仅在卸载时运行。
但是我们无法设置适当的条件。您可以引用代码:
<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>
请让我们知道我们做错了什么。上面的代码甚至在卸载时调用 InstallFinalize。
最佳答案
您可以尝试以下条件:
安装操作:
REMOVE <> "ALL"
卸载操作
REMOVE = "ALL"
关于wix - 根据模式执行自定义操作 - WIX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659364/