WIX:使用 WixUI_InstallDir 对话框集覆盖 ARPNOMODIFY

WIX: Override ARPNOMODIFY with WixUI_InstallDir Dialog Set

我正在使用 WIX 工具集来创建 MSI 安装程序,我需要显示“添加和删除程序”菜单的 更改 按钮。所以,我设置了 属性 'ARPNOMODIFY' 但是我得到一个编译器错误 WixUI_InstallDir 已经定义了这个属性。经过大量调查后,我发现了这个 link 但它不起作用。更改按钮仍然没有显示。

您只需从 here 复制 WixUI_InstallDir 的源代码并在您的项目中添加一个新的 wxs 文件。您需要将 UI Id 从 WixUI_InstallDir 重命名为其他名称。在您的产品中,只需包含对新 wxs 文件中定义的新 UI 的 UIRef。

在此文件中,您可以更改 ARPNOMODIFY 属性。我认为尝试设置 属性 对您不起作用,因为 SetProperty 是 运行 时间更改,而 MSI table 中的 属性 仍然是默认定义值从您构建安装程序时开始。

我建议您调查是否真的需要在添加删除程序时启用“更改”按钮。如果您使用的是基本安装 UI 且未进行任何修改,那么您唯一真正可以更改的是安装目录,这是一个奇怪的用例,先安装产品然后决定更改其安装位置,imo。