1

我有一个 WiX 安装程序和一些引导程序。我们最近添加了 SQL LocalDB 支持,发现我们需要打包 .Net 4.0.2 才能使其工作。我现在在 Windows 8 上进行测试,发现这个补丁失败了,这个操作系统实际上并不需要这个补丁。

但是,我的安装程序失败了,因为 .Net 4.0.2 失败了。我正在尝试找到一种方法来跳过 Windows 8 中的此补丁,或者只是忽略此补丁的失败?

我的 中有“ InstallConditions”和“ ExitCodespackage.xml,但我不知道如何更改这些以实现:

  1. 当操作系统是 windows 8 时不要尝试安装,或者
  2. 尝试,但忽略失败并继续下一步

有任何想法吗?

4

1 回答 1

3

我通过反复试验发现了这一点,我会将解决方案放在这里,以供其他可能觉得它有用的人使用。问题是我正在使用ValueGreaterThanOrEqualTo它应该是VersionGreaterThanOrEqualTo

这将跳过 Windows 8

<BypassIf Property="VersionNT" Compare="VersionGreaterThanOrEqualTo" Value="6.2"/>

这将跳过 Windows 7 和 8

<BypassIf Property="VersionNT" Compare="VersionGreaterThanOrEqualTo" Value="6.1"/>

于 2013-09-20T16:35:44.467 回答