2016-11-11 276 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文檔中描述。