如何引导.NET Service Pack?

时间:2011-10-17 14:13:04

标签: wix wix3.5

我必须为需要.NET Framework 2.0 SP2的.NET应用程序构建安装程序。当我添加WiX Tutorial中找到的.NET Framework时,我得到了没有Service Pack的.NET Framework 2.0。

将所需的Service Pack 2安装到安装中需要什么?

修改 当Windows Update安装了当前.NET框架的Service Pack时,是否有机会在没有Service Pack的情况下重建安装程序?

1 个答案:

答案 0 :(得分:0)

来自WiX Doco :(不确定这是否有助于问题的“编辑”部分)

引用该属性后,您可以在任何WiX条件语句中使用它。例如,如果未安装.NET Framework 2.0,则以下条件会阻止安装。

<Condition Message="This application requires .NET Framework 2.0. Please install the .NET Framework then run this installer again.">
    <![CDATA[Installed OR NETFRAMEWORK20]]>
</Condition>

Installed是一个Windows Installer属性,可确保仅在用户安装应用程序时进行检查,而不是修复或删除。如果安装了.NET Framework 2.0,则条件的NETFRAMEWORK20部分将通过。如果未设置,安装程序将显示错误消息,然后中止安装过程。

要检查框架的Service Pack级别,请使用* _SP_LEVEL属性。如果计算机上没有.NET Framework 3.0 SP1,则以下条件会阻止安装。

<Condition Message="This application requires .NET Framework 3.0 SP1. Please install the .NET Framework then run this installer again.">
    <![CDATA[Installed OR (NETFRAMEWORK30_SP_LEVEL and NOT NETFRAMEWORK30_SP_LEVEL = "#0")]]>
</Condition>

与上一个示例一样,Installed可以防止在用户进行修复或删除时运行检查。如果存在Service Pack 1,则NETFRAMEWORK30_SP_LEVEL属性设置为“#1”。由于无法对前面带有#的值进行数值比较,因此该条件首先检查NETFRAMEWORK30_SP_LEVEL是否已设置并确认它是否设置为数字。这将正确指示是否安装了.NET 3.0的任何Service Pack。