11

我正在使用 Wix 3.5 构建 MSI 安装程序。我想知道是否有任何方法可以从“功能自定义设置对话框”(您从功能树中选择要安装的内容)中隐藏某些选项。

我只想选择“将安装在本地硬盘上”和“整个功能将不可用”

目前,除了这两个选项之外,我还有以下选项:

  • “整个功能将安装在本地硬盘上”
  • “将安装为从网络运行”
  • “将安装整个功能以从网络运行”
4

3 回答 3

9

功能选择对话框使用Windows Installer 的内置控件SelectionTree控件。

您可以使用功能表Attributes的列来控制为某个功能显示哪些安装选项。

WiX 的Feature 元素有四个属性来控制如何安装一个功能:

  • 缺席:允许/禁止
  • AllowAdvertise:否/系统/是
  • InstallDefault:followParent/本地/源
  • 典型默认值:广告/安装

组件表还控制组件是否可以从源代码运行。Component 元素具有Location以下属性:

  • local
    防止组件从源或网络运行(如果未设置此属性,这是默认行为)。
  • source
    强制组件只能从源运行(它不能从用户的计算机运行)。

  • 允许组件从源或本地运行

因此,要删除从网络运行的选项,请将Location组件的属性设置为local.

您不能从选项中删除整个功能将安装在本地硬盘上。它仅在存在子功能并启用子功能以及功能本身的安装时才显示,而不是将安装在本地硬盘上,后者仅安装选定的功能并且不影响子功能。

如果子功能始终与父功能一起安装,您可以尝试将InstallDefault子功能的属性设置为followParent

于 2012-10-20T10:16:41.790 回答
3

要删除在您的功能 AllowAdvertise="no" https://www.firegiant.com/wix/tutorial/user-interface/custom-settings/中设置的“此功能将在需要时安装”

于 2017-02-10T15:30:54.533 回答
0

如果您使用的是 WiX UIExtension,那么您需要下载该扩展的 WiX 源代码并进行适当的修改。以下链接应该可以帮助您入门:

WiX UI 自定义

用于 SQL 数据库安装的 Wix 自定义 UI

如何将 UI 添加到 WiX 3 安装程序?

更新:

在检查 WiX UI 源时,FeaturesDlg 显示一个“SelectionTree”控件。该控件(连同 WiX UI 显示的其他控件)似乎是 Windows Installer 控件,而不是特定于 WiX 的控件。请参阅选择树。因此,似乎没有简单的方法可以“关闭”这些选项。

于 2012-10-17T17:46:56.847 回答