如何根据wix中的条件设置功能级别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据wix中的条件设置功能级别?相关的知识,希望对你有一定的参考价值。
我正在尝试根据条件安装功能。最初,我将功能级别设置为1,并在功能内部放置条件以修改功能级别。
我无法修改功能级别,并且无论条件如何,它始终设置为1。
<Feature
Id = "AddinsFeature"
Title = "InstallAddin"
Level = "1"
Absent="allow">
<ComponentRef Id = "AddInComp"/>
<Condition Level="0">
<![CDATA[FALSE]]>
</Condition>
</Feature>
您可以通过设置条件“True”来运送功能内部的组件,如下所示。只要属性“SAMPLEFEATURE_UNLOCKED”设置为true,该功能就会解锁。
如何使用WiX功能条件基本上解释如下:https://www.firegiant.com/wix/tutorial/getting-started/conditional-installation/
要将要素设置为条件指定的级别,条件必须评估为true。您可以通过将其设置为1来强制它为true:
<Feature Id="AddinsFeature" Title="InstallAddin" Level="1" Absent="allow">
<!-- Force condition to be true, which sets the feature to the Level attribute value -->
<Condition Level="0">1</Condition>
<ComponentRef Id = "AddInComp"/>
</Feature>
上面我们强制功能的安装级别为0,因为它的条件为1(MSI逻辑中的数字1为真 - 根据定义 - 如布尔值)。在现实世界中,条件会更加复杂 - 当然。
每个设置都有一个整体INSTALLLEVEL - and it acts as a high water mark as explained here by Chris Painter。默认情况下会安装评估为低于或低于INSTALLLEVEL的功能级别的所有功能。
注意:在WiX源中设置
Feature level to 0
时,该功能不会显示在设置GUI中,默认情况下也不会安装(更多详细信息请参见下面的链接)。
特征操作可能非常复杂。一些链接:
- How to install feature based on the property set in custom action?
- Unselected Feature Being Installed(顶部详细)
- Failing condition wix(Level = 0隐藏GUI的功能)
- http://www.joyofsetup.com/2008/04/09/feature-states-in-component-conditions/
以上是关于如何根据wix中的条件设置功能级别?的主要内容,如果未能解决你的问题,请参考以下文章
WiX Burn - 根据条件设置 InstallFolder 变量