我已经使用 WIX 构建了一个安装程序,并使用该GenerateBootstrapper
任务将其与 .NET 4.0 框架打包在一起。现在 .NET 4.0 无法在 XP SP2 上安装,但它似乎没有对此进行先决条件检查,因此其安装程序中途失败。
我想添加我自己的检查,以确保.NET 4.0 框架支持安装整个软件包的操作系统。使用时有没有办法在引导程序中嵌入 OS/Service Pack 检查GenerateBootstrapper
?如果没有,我还能如何做到这一点?
我已经使用 WIX 构建了一个安装程序,并使用该GenerateBootstrapper
任务将其与 .NET 4.0 框架打包在一起。现在 .NET 4.0 无法在 XP SP2 上安装,但它似乎没有对此进行先决条件检查,因此其安装程序中途失败。
我想添加我自己的检查,以确保.NET 4.0 框架支持安装整个软件包的操作系统。使用时有没有办法在引导程序中嵌入 OS/Service Pack 检查GenerateBootstrapper
?如果没有,我还能如何做到这一点?
您可以向引导程序包定义文件添加条件,以便引导程序检查 Windows 版本。描述文件位于
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\
Packages\DotNetFX40\Product.xml
在 64 位 Windows 系统上或
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\
Packages\DotNetFX40\Product.xml
在 32 位 Windows 系统上。package.xml 已经包含这样的检查,请参见该行
<!-- Block install on less than Windows XP SP2 -->
<FailIf Property="VersionNT" Compare="VersionLessThan"
Value="5.1.2" String="InvalidPlatformWinNT" />
我找不到相关文档,但似乎 VersionNT 值的第三个数字是服务包级别,因此可能更改条件以检查值"5.1.3"
将完成这项工作。