如何获取用户在安装 WIX 设置时输入的属性值?

Posted

技术标签:

【中文标题】如何获取用户在安装 WIX 设置时输入的属性值?【英文标题】:how to get properties values input by user at the time of Installing WIX Set up? 【发布时间】:2014-04-02 05:21:14 【问题描述】:

是否可以在卸载 WIX 设置时传递一些属性值。

在我的 wix 设置中,我想卸载依赖于属性值的特定文件。 但是在卸载设置时,由于属性检查条件,文件没有被删除。 有什么方法可以实现吗?

【问题讨论】:

【参考方案1】:

这是一个奇怪的问题 - 您可能需要准确地解释您在做什么。如果您正在卸载产品,那么您正在卸载产品中的所有文件。如果您想安装一个文件,但可能在卸载时将其留在后面,那么您不能以通常的方式使用组件 ID 安装它。您需要给它一个空 id,以便它不受 Windows Installer 管理。然后,如果要删除它,则必须使用自定义操作将其卸载。因此,一般的答案是使用 null 组件 ID 安装它,然后运行一个卸载自定义操作,该操作知道是否实际删除该文件。

如果卸载将文件隐藏在后面,通常会被认为是一个错误。如果您想留下一个文件,因为它正在与另一个产品或应用程序共享,那么以上所有内容都无关紧要,因为如果您使用相同的组件 ID,共享只会自动工作,以防万一您正在做的事情。

【讨论】:

【参考方案2】:

Windows Installer 专门设计为在卸载期间没有 UI。同意与否,这就是目标。他们只是希望 ARP 有一个“删除”按钮,而且不用问任何问题,它就可以轻松轻松地离开。

另一种方法是禁用“删除”按钮,只保留“更改”按钮。然后在您的维护经验中编写一些 UI 来询问用户是否要删除文件,然后继续。

【讨论】:

【参考方案3】:

我认为卸载时不会留下您的文件 - 据我所知,组件条件适用于安装,而不是卸载。或者您是否尝试使用有条件的自定义操作删除文件,但它无法运行?

【讨论】:

以上是关于如何获取用户在安装 WIX 设置时输入的属性值?的主要内容,如果未能解决你的问题,请参考以下文章

使用 wix 安装程序,当用户在编辑框中输入内容时安装时我如何在设置过程中覆盖配置文件

Wix 工具集 - 将属性设置为用户配置文件文件夹路径和程序文件

Wix - 自定义操作返回代码 - 处理

Wix-使用属性名称作为值时无法写入 XML 文件

未设置 WiX 卸载 UI 属性

Wix 工具集 - 使用 RegistrySearch 在 DoAction 或属性控制事件上设置属性