deployment - WIX:属性值不会从发布元素更改
问题描述
我创建了以下属性:
<Property Id="InstallationType" Value="InstallComplete" ></Property>
我尝试根据在 UI 中单击的执行按钮更改此属性值:
<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>
问题是,当我单击“典型按钮”时,它不包含该功能,因此我理解条件为假,因为属性值没有按应有的方式更改。
我做错了什么?
解决方案
Bob Arnson 在他的博文Feature conditions and UI中彻底回答了这个问题。TLDR:发布ADDLOCAL 和 REMOVE 事件而不是设置属性以试图影响已评估的Feature/Condition 。
推荐阅读
- laravel-5 - Macroable.php 第 74 行中的 BadMethodCallException:将 5.1 升级到 5.2 时,Laravel 方法过滤器不存在
- java - 如果端点在异常时返回消息正文,则假装客户端映射响应
- r - 组合字符串,直到在 R 中满足条件
- python - 如何限制子弹射击
- css - 没有浮动的并排元素,位置:绝对,显示:块/内联块,弹性框或网格
- apache-kafka - kafka mirror-client RemoteClusterUtils.translateOffsets() 方法读取所有记录生成偏移图
- javascript - 如何仅在完成某个操作后才渲染 React 组件?
- javascript - 反应原生井字游戏
- r - R:检测时不变变量的函数
- apache-kafka - 卡夫卡经纪人在经纪人宕机后不平衡分区