【发布时间】:2016-11-11 15:11:46
【问题描述】:
我为 WIX 安装程序设置了非常具体的条件,但迄今为止的每一次尝试都失败了。
我需要检测
- 如果 Windows 10 使用周年纪念版更新进行更新
- 如果安装了 Office 365 版本 build 12.0.6965.2092 版本
RegistrySearch会为对应的Properties赋值,但无论是否满足实际条件都会触发Condition。
<Property Id="OFFICE365DETECT">
<RegistrySearch Id="Office365Search" Root="HKLM" Key="SOFTWARE\Microsoft\Office\ClickToRun\Configuration" Name="ProductReleaseIds" Type="raw"/>
</Property>
<Property Id="OFFICE365VERSIONDETECT">
<RegistrySearch Id="Office365VersionSearch" Root="HKLM" Key="SOFTWARE\Microsoft\Office\ClickToRun\Configuration" Name="ClientVersionToReport" Type="raw" />
</Property>
<!--Windows Anniversary Edition corresponds to CurentBuildNumber 14000 and above-->
<Property Id="WINDOWSANNIVERSARYEDITIONDETECT">
<RegistrySearch Id="WindowsAnniversarySearch" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Name="CurrentBuildNumber" Type="raw"/>
</Property>
我知道,条件检查应该看起来不同,但我找不到针对这个非常具体的案例的任何指南。
<![CDATA[((OFFICE365DETECT = "O365ProPlusRetail" OR OFFICE365DETECT = "O365BusinessRetail" OR OFFICE365DETECT = "O365SmallBusPremRetail" ) AND OFFICE365VERSIONDETECT = "16.0.6965.2092" AND WINDOWSANNIVERSARYEDITIONDETECT = "14393")]]>
我会非常感谢任何建议、cmets 和批评家。
【问题讨论】: