如何添加仅在卸载时发生的 WiX 自定义操作(通过 MSI)?

2024-01-25

我想修改 MSI 安装程序(通过创建WiX http://en.wikipedia.org/wiki/WiX)在卸载时删除整个目录。

我明白了RemoveFile and RemoveFolderWiX 中的选项,但这些选项不够强大,无法递归删除包含安装后创建的内容的整个文件夹。

我注意到类似的堆栈溢出问题卸载 WiX 时删除文件 https://stackoverflow.com/questions/195919,但我想知道是否可以更简单地使用调用批处理脚本来删除文件夹来完成此操作。

这是我第一次使用 WiX,我仍在掌握窍门自定义操作 http://wix.sourceforge.net/manual-wix2/authoring_custom_actions.htm。将在卸载时运行批处理脚本的自定义操作的基本示例是什么?


EDIT: 也许看看答案目前正下方 https://stackoverflow.com/a/17608049/286021.


这个话题已经让人头疼很久了。我终于弄明白了。 网上有一些解决方案,但没有一个真正有效。当然,没有文档。 因此,在下面的图表中,有几个建议使用的属性以及它们针对各种安装场景的值:

因此,就我而言,我想要一个仅在卸载时运行的 CA,而不是升级、修复或修改。根据上表我必须使用

<Custom Action='CA_ID' Before='other_CA_ID'>
        (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>

它成功了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何添加仅在卸载时发生的 WiX 自定义操作(通过 MSI)? 的相关文章

随机推荐