WIX的卸载条件
Posted
技术标签:
【中文标题】WIX的卸载条件【英文标题】:Uninstallation condition for WIX 【发布时间】:2014-08-11 22:29:29 【问题描述】:对于安装,我们有一个属性“Install”,如果它正在进行安装,我们可以在条件中使用它来执行。 卸载是否有类似的属性?
【问题讨论】:
您解决了这个问题吗? 【参考方案1】:您可以使用REMOVE~="ALL"
来检测完全卸载。
可以通过UPGRADINGPRODUCTCODE property 检测作为主要升级的一部分执行的卸载。
这里有一些进一步的建议和一些帮助资源:这里有一个 "MSI Conditions Cheat Sheet",可帮助您正确获取自定义操作的复杂 MSI 条件。该表对我来说看起来不错,但我没有对其进行详细测试 - 只是将链接与您自己的测试共享作为唯一保证。
此外,您还可以查看 Stefan Kruger 的 msifaq.com 了解常见 MSI 问题列表以及他的主要installsite.org 网站了解一般部署信息。
关于 Wix,请查看 this well known wix tutorial。我也会提供指向Windows Installer Best Practices list 的链接。
How to add a WiX custom action that happens only on uninstall (via MSI)?
【讨论】:
感谢您的精彩解释。已尝试 REMOVE~=ALL,但似乎不起作用。 这是我正在评估的条件 - 已安装或 VCREDIST_INSTALLED 或 REMOVE~="ALL" VCREDIST_INSTALLED 是评估是否已安装 VC++ 重分发器 您必须在引号 msdn.microsoft.com/en-us/library/aa368013(v=vs.85).aspx 中使用 ALL 并记住,如果您的产品具有可以添加和删除的功能,则与添加或删除功能相关的条件可能更有用. 谢谢@PhilDW,我已经得到了报价,但它还没有按预期工作。您所说的与该功能相关的条件是什么意思?如果未安装 VC++,我需要此检查以阻止安装/卸载继续进行 VCREDIST_INSTALLED 属性是如何设置的?暂时删除该属性并检查剩余条件是否按预期工作。以上是关于WIX的卸载条件的主要内容,如果未能解决你的问题,请参考以下文章