我创建了以下属性:
<Property Id="InstallationType" Value="InstallComplete" ></Property>
我尝试根据用户界面中的do按钮更改此属性值:
<Control Id="TypicalButton" Type="PushButton" X="40" Y="65" Width="100" Height="37" ToolTip="!(loc.SetupTypeDlgTypicalButtonTooltip)" Default="yes" Text="!(loc.SetupTypeDlgTypicalButton)" IconSize="48" Property="InstallationType">
<Publish Property="WixUI_InstallMode" Value="InstallTypical">1</Publish>
<Publish Property="InstallationType" Value="InstallTypical" >1</Publish>
<Publish Event="SetInstallLevel" Value="1">1</Publish>
</Control>
然后要包含功能取决于属性值:
<Feature Id="test" Title="test" Level="0" >
<ComponentGroupRef Id="CompilationHeadset" />
<Condition Level="1">InstallationType="InstallTypical"</Condition>
</Feature>
问题是,当我单击“ TypicalButton”时,它不包含该功能,因此我了解该条件为假,因为属性值未按应有的方式更改。
我做错了什么?
答案 0 :(得分:0)
Bob Arnson在他的博客文章Feature conditions and UI中对此做了详尽的回答。 TLDR:Publish ADDLOCAL和REMOVE事件,而不是设置属性以试图影响已经评估的Feature/Condition。