Wix如何隐藏功能选项

时间:2012-10-17 16:10:52

标签: installer wix windows-installer installation wix3.5

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

我想只有"将安装在本地硬盘驱动器上的选项"和"整个功能将无法使用"

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

  • "整个功能将安装在本地硬盘驱动器上#34;
  • "将安装从网络运行"
  • "将安装整个功能以从网络"
  • 运行

3 个答案:

答案 0 :(得分:7)

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

您可以使用Feature TableAttributes列控制要素显示的安装选项。

Feature element WiX有四个控制功能安装方式的属性:

  • 缺席:允许/禁止
  • AllowAdvertise:no / system / yes
  • InstallDefault:followParent / local / source
  • TypicalDefault:advertise / install

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

  • 本地
    阻止组件从源或网络运行(如果未设置此属性,则这是默认行为。)

  • 强制组件只能从源运行(无法从用户的计算机运行)。
  • 或者
    允许组件从源或本地运行。

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

您无法从选项中删除整个功能将安装在本地硬盘上。仅当存在子功能并且能够安装子功能以及功能本身时才显示它,而不是将安装在本地硬盘上,仅安装所选功能且不影响子功能。< / p>

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

WiX UI Customizations

Wix custom UI for SQL Database installation

How to add a UI to a WiX 3 installer?

<强>更新

在检查WiX UI源时,FeaturesDlg显示“SelectionTree”控件。看起来控件(以及WiX UI显示的其他控件)是Windows Installer控件,而不是特定于WiX的控件。见SelectionTree。因此,似乎没有简单的方法可以“关闭”这些选项。