我正在尝试根据条件安装功能。最初,我将功能级别设置为1,并在功能内部放置条件以修改功能级别。
我无法修改功能级别,并且无论条件如何,它始终设置为1.
<Feature
Id = "AddinsFeature"
Title = "InstallAddin"
Level = "1"
Absent="allow">
<ComponentRef Id = "AddInComp"/>
<Condition Level="0">
<![CDATA[FALSE]]>
</Condition>
</Feature>
答案 0 :(得分:0)
答案 1 :(得分:0)
此处基本上说明了如何使用WiX功能条件: https://www.firegiant.com/wix/tutorial/getting-started/conditional-installation/
要将功能设置为条件指定的级别,条件必须评估为true。您可以通过将其设置为1来强制其为真。
onChange: JSX.IntrinsicElements['input']['onChange'] = (e) => {
this.setState({ [e.target.name]: e.target.value } as any as IMyClassState);
};
在上面我们将功能的安装级别强制为0,因为其条件1为true(在MSI逻辑中-根据定义-布尔值,数字1为true)。在现实世界中,情况要复杂得多-当然。
每个设置都有一个整体INSTALLLEVEL - and it acts as a high water mark as explained here by Chris Painter。默认情况下,所有评估到某个功能级别低于或低于INSTALLLEVEL的功能都会安装。
注意:当您在WiX源中设置
<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>
时,该功能不会显示在设置GUI中,并且不是 将会默认安装(更多详细信息,请参见下面的链接)。
功能操纵可能非常复杂。一些链接: