Installation Windows vista上的wix启动条件不正确

Installation Windows vista上的wix启动条件不正确,installation,wix,windows-installer,windows-vista,launch-condition,Installation,Wix,Windows Installer,Windows Vista,Launch Condition,我的应用程序应该在 赢XP Sp3 WinVista Sp2 赢7 Sp1 赢8.1 赢10分 所以我在MSI中添加了启动条件。除了Win Vista,一切正常。在win Vista上,我收到一个错误,它不受支持。 你能解释一下我的发射条件有什么问题吗? 只有Vista会导致问题 <!-- Verify not an Unknown OS --> <Condition Message="Das Setup wurde noch nicht auf diesem Be

我的应用程序应该在

  • 赢XP Sp3
  • WinVista Sp2
  • 赢7 Sp1
  • 赢8.1
  • 赢10分
所以我在MSI中添加了启动条件。除了Win Vista,一切正常。在win Vista上,我收到一个错误,它不受支持。 你能解释一下我的发射条件有什么问题吗? 只有Vista会导致问题

<!-- Verify not an Unknown OS -->
    <Condition Message="Das Setup wurde noch nicht auf diesem Betriebssystem getestet und wird aus Sicherheitsgründen beendet. Bitte wenden Sie sich an den Support.">
      <![CDATA[VersionNT=501 OR VersionNT=502 OR VersionNT=600 OR VersionNT=601 OR VersionNT=603]]>
    </Condition>
    <!-- Verify Vista SP2 or above -->
    <Condition Message="$(var.ProdName) benötigt mindestens Windows Vista mit installiertem ServicePack 2.">
      <![CDATA[NOT VersionNT=600 OR (WindowsBuild=6002 AND ServicePackLevel >=2)]]>
    </Condition>
    <!-- Verify XP SP3 or above -->
    <Condition Message="$(var.ProdName) benötigt mindestens Windows XP mit installiertem ServicePack 3.">
      <![CDATA[NOT VersionNT=501 OR (WindowsBuild=2600 AND ServicePackLevel >=3)]]>
    </Condition>
    <!-- Verify Windows Server 2003 SP2 or above -->
    <Condition Message="$(var.ProdName) benötigt mindestens Windows Server 2003 mit installiertem ServicePack 2.">
      <![CDATA[NOT VersionNT=502 OR (WindowsBuild=3790 AND ServicePackLevel >=2)]]>
    </Condition>
    <!-- Verify Windows Server 2008 -->
    <Condition Message="$(var.ProdName) benötigt mindestens Windows Server 2008.">
      <![CDATA[NOT VersionNT=600 OR WindowsBuild=6001]]>
    </Condition>
    <!-- Verify Windows Server 2008 R2 -->
    <Condition Message="$(var.ProdName) benötigt mindestens Windows XP mit installiertem ServicePack 3.">
      <![CDATA[NOT VersionNT=601 OR WindowsBuild > 7100]]>
    </Condition>
    <!--Verify Windows 7 SP1 or above-->
    <!--
    <Condition Message="$(var.ProdName) benötigt mindestens Windows 7 mit installiertem ServicePack 1.">
      <![CDATA[Installed OR ((VersionNT = 601) AND ((WindowsBuild > 7100) AND (ServicePackLevel >= 1)))]]>
    </Condition>-->

    <!--Verify Windows 7 SP1 or above-->
    <Condition Message="$(var.ProdName) benötigt mindestens Windows 7 mit installiertem ServicePack 1.">
      <![CDATA[NOT VersionNT=601 OR (WindowsBuild > 7100 AND ServicePackLevel >= 1)]]>
    </Condition>

    <!-- .Net Framework 4.0 wird benötigt -->
    <PropertyRef Id="NETFRAMEWORK40FULL" />
    <Condition Message="$(var.ProdName) benötigt das .NET Framework 4.0 Full.">
      <![CDATA[Installed OR NETFRAMEWORK40FULL]]>
    </Condition>

    <!-- Kein Downgrade erlauben -->
    <Condition Message='Eine aktuellere Version von "$(var.ProdName)" ist bereits installiert. Das Setup wird nun beendet.'>
      <![CDATA[Installed OR NOT NEWER_VERSION_FOUND]]>
    </Condition>

=2)]]>
=3)]]>
=2)]]>
7100]]>
7100和ServicePackLevel>=1)]]>

您的发射条件的总体问题是它们的方式不对。要继续安装,条件必须评估为true。例如,您的Server 2008条件需要更改为VersionNT=600和MsiNTProductType>1,以便它a)包括服务器检查,b)如果是Server 2008版本,则整个表达式的计算结果为true

类似地,Vista检查应该类似于VersionNT=600、WindowsBuild=6002和MsiNTProductType=1,因为a)build alreasy包括SP级别,b)产品类型表示它不是服务器,c)整个表达式在Vista SP2系统上的计算结果为true