2016-11-11 8 views
0

У меня есть очень специфическое условие для установки установщика WIX, и каждая попытка до сих пор не удалась.Состояние установки WIX

мне нужно обнаружить

  • Если Windows 10 обновляется с Юбилейной Update Edition,
  • если 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")]]> 

Я бы очень изложил любые предложения, комментарии и критики.

Спасибо вам заранее!

ответ

0

Вам не нужно искать в реестре номер сборки Windows - есть свойство WindowsBuild, что вы можете использовать в Launch Состояние:

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

документация не в курсе, но Я полагаю, что значение для Anniversary Edition равно 9600. Более нормальным является то, что вы хотите < = 9600, если W10 Anniversary - это минимум, который вы поддерживаете, иначе ваша установка не будет установлена ​​в более поздних версиях Windows 10.

Офис поиск - очевидная вещь - смотреть в t он реестр, и я полагаю, вы уже видели, что значение есть. Однако поиск может потребоваться в 64-битном реестре (используйте Win64 = «да»). Вы не указали, что такое ваша архитектура, и может быть неправильной для поиска, описанной в документации WiX.