2016-11-11 138 views
0

我有非常具体的条件为维克斯安装程序,并尽一切努力至今未能成立。WIX安装目录条件

我需要检测

  • Windows是否10与周年纪念版更新更新
  • 如果Office 365版本建立12.0.6965.2092版本安装

RegistrySearch将相应属性值给出但无论实际条件是否满足都会触发条件。

<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")]]> 

我会大大appretiate任何建议,意见和评论家。

谢谢大家提前!

回答

0

你并不需要在注册表中搜索Windows的版本号 - 有,你可以在启动条件使用属性WindowsBuild:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa372813(v=vs.85).aspx

的文档是不是最新的,但我相信周年纪念版的价值是9600.如果W10周年纪念是你支持的最小值,那么说你想要< = 9600更为正常,否则你的设置将不会安装在更高版本的Windows 10上。

办公室搜索 - 显而易见的事情是看看t他注册,我假设你已经看到价值在那里。但是,您的搜索可能需要在64位注册表中(使用Win64 =“是”)。你没有说过你的架构是什么,它可能是默认的搜索错误,在WiX文档中描述。