我正在尝试创建一个wix安装程序,以确保用户在windows 7上并且尚未安装.net framework 4.5。下面是捆绑包中的错误代码和xml/wxs代码。我不明白为什么它不明白这个,除非它的所有括号。但是,没有它们,它就不明白什么不是。
代码:
<Chain>
<ExePackage Id="PrePackage" SourceFile="dotNetFx45_Full_Setup.exe" InstallCondition="(VersionNT >= v6.1) AND NOT (Net4FullVersion >= 4.5)" />
<MsiPackage Id="MainPackage" SourceFile="SampleFirst.msi" InstallCondition="VersionNT >= 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 >= "4.5")" />