You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WiX中Property下多RegistrySearch元素的行为疑问

WiX多RegistrySearch绑定同一Property的赋值规则疑问解答

问题描述

此前查找过类似问题但未找到明确结论,重新表述问题如下:

假设在Property元素下定义多个RegistrySearch元素,代码示例如下:

<Property Id="MyProp">
  <RegistrySearch Id="Reg1" Root="HKLM" Key="SomePath1" Name="Reg1Name" Type="raw" />
  <RegistrySearch Id="Reg2" Root="HKLM" Key="SomePath2" Name="Reg2Name" Type="raw" />
  <RegistrySearch Id="Reg3" Root="HKLM" Key="SomePath3" Name="Reg3Name" Type="raw" />
</Property>

已知这些搜索的执行顺序无法保证,后得到结果的搜索会覆盖MyProp的赋值。疑问是:若其中某个搜索成功赋值给MyProp,最后一个搜索未找到结果,此时MyProp会被设为NULL还是保留之前的有效值?

解答

当多个RegistrySearch绑定到同一个Property时,只有成功检索到有效值的搜索才会覆盖Property的当前值。如果某条RegistrySearch未找到对应注册表项(返回空值),它不会对已经存在有效值的Property进行修改。

也就是说,如果前面的搜索已经给MyProp赋了有效值,哪怕最后一个搜索未找到结果,MyProp会保留之前的有效值,不会被设为NULL。


内容的提问来源于stack exchange,提问作者Tiger Galo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 04:48:10