При установке Wix не удалось проанализировать условие при обнаружении .NET Framework - PullRequest
0 голосов
/ 27 сентября 2018

Когда я использую веб-обнаружение Wix с установкой переменной wix флажка, выдается ошибка. Не удалось проанализировать условие 'AND NetFrameWorkCheckbox = 1' в позиции: 1, когда я использую только веб-обнаружение при условии установки, оно работает, но я не могу совмещаться с другими условиями.

<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx47Web" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx47EulaLink)" Overridable="yes" />
<WixVariable Id="NetFx47WebDetectCondition" Value="NETFRAMEWORK45 &gt;= $(var.NetFx47MinRelease)" Overridable="yes" />
<WixVariable Id="NetFx47WebInstallCondition" Value="" Overridable="yes" />
<WixVariable Id="NetFx47WebPackageDirectory" Value="redist\" Overridable="yes" />


<!--/norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx47FullLog].html&quot;-->


<PackageGroup Id="NetFx47Web">
  <ExePackage
      InstallCommand="/q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx47FullLog].html&quot;"
      RepairCommand="/q /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx47FullLog].html&quot;"
      UninstallCommand="/uninstall /q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx47FullLog].html&quot;"
      PerMachine="yes"
      DetectCondition="!(wix.NetFx47WebDetectCondition)"

      InstallCondition="!(wix.NetFx47WebInstallCondition) AND NetFrameWorkCheckbox = 1"
      Id="NetFx47Web"
      Vital="yes"

      Permanent="yes"
      SourceFile=".\prerequisites\NNDP47-KB3186497-x86-x64-AllOS-ENU.exe"
      Protocol="netfx4"
      DownloadUrl="$(var.NetFx47WebLink)"
      LogPathVariable="NetFx47FullLog"
      Compressed="yes"
      Name="!(wix.NetFx47WebPackageDirectory)NDP47-KB3186500-Web.exe">

Это вывод моего загрузчика.

[1710:1FE0][2018-09-27T14:20:08]i200: Plan begin, 3 packages, action: Install
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to parse condition ' AND NetFrameWorkCheckbox = 1' at position: 1
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to parse value.
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to parse term.
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to parse boolean-factor.
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to parse boolean-term.
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to parse expression.
[1710:1FE0][2018-09-27T14:20:08]e051: Error 0. Failed to parse condition  AND NetFrameWorkCheckbox = 1. Unexpected symbol at position (null)
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to evaluate install condition.
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to set default package state.
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to process package.
[1710:1FE0][2018-09-27T14:20:08]e000: Error 0x8007000d: Failed to plan packages.
[1710:1FE0][2018-09-27T14:20:08]i299: Plan complete, result: 0x8007000d
...