.NET Framework 2.0 Service Pack 2、.NET Framework 3.0 Service Pack 2 和 .NET Framework 3.5 Service Pack 1 的双分支服务

简介
.NET Framework 2.0 Service Pack 2、.NET Framework 3.0 Service Pack 2 和 .NET Framework 3.5 Service Pack 1 的所有 GDR(常规分发版本)类更新都支持双分支服务模型。

假设您安装支持 .NET Framework 2.0 Service Pack 2、.NET Framework 3.0 Service Pack 2 和 .NET Framework 3.5 Service Pack 1 双分支服务的修补程序。则除了“控制面板”中“添加或删除程序”项的“当前安装的程序”列表中显示的更新程序外,您还需要查看其他更新 (960043)。该其他更新称为基准程序,通常适用于支持双分支服务的所有修补程序。

本文介绍 .NET Framework 2.0 Service Pack 2、.NET Framework 3.0 Service Pack 2 和 .NET Framework 3.5 Service Pack 1 的双分支服务。
更多信息

什么是双分支服务?

.NET Framework 和 Microsoft Visual Studio 更新通常都是累积更新。例如:二进制文件始终附带同一二进制文件中所有以前的服务更改。但此方法存在问题,因为它会无意间终止广泛分发以下修补程序:有限分配且针对特定用户对安全更新和累积更新的需求而开发的修补程序。

有了修补程序和 GDR 类发行版的单独分支(如安全更新),即可能消除 GDR 类发行版的修补程序随附的功能性修复程序。维护 LDR(限制分发版本,如修补程序)和 GDR(常规分发版本,如更新、累积更新和安全更新)版本的单独分支称为双分支服务。

双分支服务究竟意味着什么?

使用双分支服务,GDR 类发行版的更新(更新、累积更新和安全更新)将包含两个版本的有效负载,一个仅携带安全修复程序而不含累积修补程序的“净”负载,另一个同时包含累积修补程序及安全修复程序的负载。

第一种“净”负载会为没有应用修补程序的用户进行安装,而第二种累积负载则会为已至少安装一个修补程序的用户进行安装。

双分支服务如何工作?

用户安装修补程序后,会在安装更新的同时安装基准程序更新 960043。此基准程序类似于计算机中的标记,该标记向此产品的后续更新表明修补程序已存在。

以后,用户安装 GDR 类更新(包括安全更新)时,该更新即会查找此基准程序。如果由于之前没有安装任何修补程序而找不到基准程序,则会安装 GDR 分支中的有效负载,以便修补程序不会包含在其中。

但如果找到了基准程序,则会安装 LDR 分支中的有效负载(如包含修补程序的累积更新)。此模型可防止已安装修补程序的用户安装 GDR。

此模型的优点在于:如果首先安装 GDR,随后就会应用 GDR 负载。如果接着安装修补程序,且基准程序存在,则 GDR 会自动从 GDR 分支负载切换到 LDR 分支负载。这可防止修补程序功能退化。

常见问题

问题 1:双分支服务是否适用于 Visual Studio 2008 SP1?

解答 1:
目前仅 .NET Framework 2.0 SP2、.NET Framework 3.0 SP2 和 .NET Framework 3.5 SP1 支持双分支服务模型。目前没有将此功能扩展到 Visual Studio 2008 SP1 的计划。

问题 2:双分支服务是否适用于 .NET Framework(1.0、1.1、2.0 RTM/SP1)和 Visual Studio(2002、2003、2005)的早期版本?

解答 2:
从 .NET Framework 2.0 SP2、.NET Framework 3.0 SP2 和 .NET Framework 3.5 SP1 开始,.NET Framework 才支持双分支服务模型,并且 .NET Framework 的后续版本也会支持该模型。目前没有为旧产品版本提供此服务模型支持的计划。

问题 3:.NET Framework 4.0 是否会支持双分支服务?

解答 3:
是,.NET Framework 4.0 将支持双分支服务模型。

问题 4:更新中携带两个负载是否会使更新更大?

解答 4:
由于支持双分支服务的 GDR 类更新携带两个负载:一个是 LDR 分支中的负载,另一个是 GDR 分支中的负载,因此这些更新程序会稍微比不支持双分支服务的同等更新程序大。多数情况下,该增加的文件大小幅度非常小,不会超过几兆字节 (MB)。

问题 5:是否需要执行任何操作以指示是应用 LDR 负载还是 GDR 负载?

解答 5:
通常情况下,用户不必执行任何操作,计算机就会使用基准程序自动标记计算机上存在的修补程序。后续 GDR 会根据基准程序是否存在来自动确定是应用 LDR 负载还是 GDR 负载。

问题 6:是否需要在卸载 GDR 类更新(更新、累积更新或安全更新)时执行任何操作?

解答 6:
否,卸载 GDR 类更新时不必执行任何特殊操作。

问题 7:卸载修补程序时是否需要执行任何操作?

解答 7:
否,卸载修补程序时不必执行任何特殊操作。

问题 8:如果我删除基准程序,会出现什么情况?

解答 8:
请勿使用“控制面板”中的“添加或删除程序”项来手动卸载基准程序更新 960043。此方案不受支持,而且,如果您卸载基准程序,可能会导致无法正确应用将来的更新。

问题 9:如何将系统恢复到在安装 GDR 更新后只会应用 GDR 负载的状态?

解答 9:您必须卸载并重新安装该产品,才能使您的系统恢复到开始应用 GDR 负载的状态。执行此操作后,请确保应用所有适用的安全更新。
.NET Framework 2.0 Service Pack 2 3.0 Service Pack 2 3.5 Service Pack 1 960043 KB960043 baseliner dual branch servicing LDR GDR QFE
属性

文章 ID:960043 - 上次审阅时间:09/27/2012 10:05:00 - 修订版本: 2.0

Microsoft .NET Framework 3.5 Service Pack 1, Microsoft .NET Framework 3.0 Service Pack 2, Microsoft .NET Framework 2.0 Service Pack 2

  • kbhowto kbtshoot kbexpertiseinter kbsurveynew kbinfo KB960043
反馈