我正在尝试创建一个wix安装程序,以确保用户在windows 7上并且尚未安装.net framework 4.5。下面是捆绑包中的错误代码和xml/wxs代码。我不明白为什么它不明白这个,除非它的所有括号。但是,没有它们,它就不明白什么不是。
代码:

<Chain>
    <ExePackage Id="PrePackage" SourceFile="dotNetFx45_Full_Setup.exe" InstallCondition="(VersionNT &gt;= v6.1) AND NOT (Net4FullVersion &gt;= 4.5)" />
    <MsiPackage Id="MainPackage" SourceFile="SampleFirst.msi" InstallCondition="VersionNT &gt;= v6.1" />
</Chain>

错误:
[0A20:0954][2014-06-23T12:07:14]e000: Error 0x8007000d: Failed to parse condition "(VersionNT >= v6.1) AND NOT (Net4FullVersion >= 4.5)". Unexpected character at position 49.

最佳答案

在本地进行实验后,net4fullversion需要引用其版本号;这意味着在您的情况下,必须对引用进行转义:

 <ExePackage Id="PrePackage" SourceFile="dotNetFx45_Full_Setup.exe" InstallCondition="(VersionNT >= v6.1) AND NOT (Net4FullVersion >= &quot;4.5&quot;)" />

10-06 05:34