Microsoft Windows 操作系统文件版本是否包含所有早期的修补程序?

Microsoft Windows 操作系统文件版本是否包含所有早期的修补程序?

当查看 Microsoft 修补程序时,以下措辞让我感到困惑。

此修补程序的英语版具有下表所列出的文件属性(或更新的文件属性)。

这是否意味着对于适当的操作系统,相关文件的任何后续版本都将包含修复?

在这个特定的案例中(这个问题是由Windows 2003 CTCP 修补程序) 以下版本tcpip.sys包含修补程序 KB949316。

Windows Server 2003 Service Pack 2, x86-based versions
File name  File version   File size   Date         Time   Platform
Tcpip.sys  5.2.3790.4241  390,144     21-Feb-2008  10:42  x86

tcpip.sys此特定服务器上的版本是5.2.3790.4573。这是否意味着我的文件版本具体包含此修补程序实现了哪些功能?

(因为我们正在谈论一个特定的修补程序,我还注意到这个特定的修补程序包含一个注册表项。实现此修补程序的最佳方法是仅安装修补程序包或手动添加注册表项?)

答案1

我不知道这是否回答了你的具体问题...但我很喜欢这个问题,所以对它进行了研究,并发现了这一点:

http://blogs.msdn.com/b/ntdebugging/archive/2008/10/21/windows-hotfixes-and-updates-how-do-they-work.aspx

具体来说(以防链接失效):

安装修补程序

默认情况下,Windows 系统上的所有组件都会在每次主要发布后从 GDR 分支启动。当您从 Windows 更新安装 GDR 组件的更新时,它会使用 GDR 版本进行升级。

当您安装特定的修补程序时,修补程序包中的文件和组件将迁移到 LDR 分支。此时,该特定组件被标记为 LDR 组件。如果您在此组件上安装较新的更新,Windows 服务技术将自动为您安装来自 LDR 分支的相应最新版本。这是可能的,因为每个更新包都附带该组件的 GDR 和 LDR 版本。

一旦组件被标记为 LDR 组件,返回 GDR 分支的唯一方法是卸载该组件的所有修补程序,或移至下一个可用的服务包。

如果用户安装了 Hotfix,然后过了一段时间又安装了下一个 Service Pack,会发生什么情况?嗯,在这种情况下,这取决于 Hotfix 以及它的构建时间。

  1. 如果修补程序是在服务包之前构建的,则组件将移动到服务包中包含的 GDR 版本。

  2. 如果修补程序是在服务包之后构建的,则组件将迁移到组件的后服务包版本,并将保留在原来的同一分支上。

为了实现此功能,这些软件包包含 RTM GDR 版本、RTM Hotfix 分支以及每个二进制文件的 SP1 Hotfix 和 GDR 版本。

为 Windows 构建的所有修复都是按分支累积的,即新更新将包含新修复以及该分支的所有先前修复。参考上表,安装修复 #4 可让您获得 GDR 分支上的修复 #2 和 #4。如果组件位于 LDR 分支上,则用户将获得修复 #1-4。

最后,服务技术必须处理以下情况:您需要旧修补程序的功能(例如上图中的“修补程序 #1”),但您可能已经安装了“修补程序 #4”,这可能是一个关键安全更新。发生的情况是,在安装修补程序的 GDR 分支时,它还会在系统上放置同一修补程序的修补程序版本的副本。当您运行修补程序 #1 的安装程序时,它会检测到已安装文件的较新版本,但它还检测到需要将其迁移到先前存储在系统上的二进制文件的修补程序版本。结果是您最终获得修补程序 #4 的修补程序二进制文件,它既包含您需要的修补程序,又包含累积的安全修补程序集。

希望这对你有帮助。

答案2

是的,您的版本高于 qfe 版本,这意味着您已修补并且 regkey 仅适用于 xp。

相关内容