Wix:修补时运行条件自定义操作(非完整安装)
Posted
技术标签:
【中文标题】Wix:修补时运行条件自定义操作(非完整安装)【英文标题】:Wix: Run Conditional Custom Action when patching (not full install) 【发布时间】:2017-05-17 20:07:49 【问题描述】:我有一个自定义操作,我只想在我们应用或回滚 更新(不是完整安装 (msi),只是一个补丁 (msp))而不是在我们安装或卸载时运行.
我尝试了以下代码,但自定义操作仅在我应用时调用,而不是在回滚时调用。
<Custom Action="CheckValidation" Sequence="3710">PATCH OR MsiPatchRemovalList</Custom>
根据文档,“PATCH”和“MsiPatchRemovalList”属性应包含 guid/s,具体取决于操作。
我在这里错过了什么? 以下情况的可能值是什么
![1]:https://i.stack.imgur.com/P2i35.png
|Full Install |Full Uninstall |Apply Patch |Rollback Patch
Installed
REMOVE
PATCH
MsiPatchRemovalList
【问题讨论】:
How to add a WiX custom action that happens only on uninstall (via MSI)?的可能重复 这是不同的。我问的是我们何时应用补丁而不是完整安装 【参考方案1】:我想通了... 当您回滚补丁时,会调用上一个补丁的自定义操作,而不是您要回滚的补丁。
案例:基础构建 + 更新 1 + 更新 2 现在,如果您回滚到更新 1,那么将调用更新 1 的自定义操作,而不是更新 2。
【讨论】:
以上是关于Wix:修补时运行条件自定义操作(非完整安装)的主要内容,如果未能解决你的问题,请参考以下文章
Wix 自定义卸载操作 - 如何在 msi 删除文件之前运行