Wix如何隐藏功能选项

Her*_*rno 8 installation installer windows-installer wix wix3.5

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

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

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

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

Ale*_*nov 7

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

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

WiX的Feature元素有四个属性,用于控制如何安装功能:

  • 缺席:允许/不允许
  • AllowAdvertise:no/system/yes
  • InstallDefault:followParent/local/source
  • TypicalDefault:广告/安装

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

  • local
    阻止组件从源或网络运行(如果未设置此属性,则这是默认行为).
  • source
    强制组件只能从源运行(无法从用户的计算机运行).
  • 或者
    允许将组件从源或本地运行.

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

您无法删除整个功能将从选项安装在本地硬盘驱动器上.仅当存在子功能并且启用子功能的安装以及功能本身时才显示它,而不会安装在仅安装所选功能且不影响子功能的本地硬盘驱动器上.

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

  • @Edgar很奇怪,看起来Windows Installer总是显示_Entire功能将安装在本地硬盘上_即使没有子功能.至少这个项目出现在我测试的所有没有可见子功能的情况下.它还可能取决于Windows Installer的版本.不幸的是我无法提供更多帮助. (3认同)