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

Mik*_*eyB 5 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
Run Code Online (Sandbox Code Playgroud)

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

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

The*_*ner 4

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

\n\n

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

\n\n

具体来说(如果链接失效):

\n\n
\n
\n

安装修补程序

\n
\n\n

默认情况下,Windows 系统上的所有组件都会在每个主要版本之后在 GDR 分支\n 上启动。当您从 Windows\n Update 安装 GDR 组件的更新时,它会随 GDR 版本一起升级。

\n\n

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

\n\n

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

\n\n

如果用户安装了修补程序,然后稍后又安装了下一个服务包,会发生什么情况?好吧,在这种情况下,这取决于修补程序及其构建时间。

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

  2. \n
  3. 如果修补程序是在 Service Pack 之后构建的,则该组件将迁移到该组件的 Service Pack 之后版本,\n 并将保留在其最初所在的同一分支上。

  4. \n
\n\n

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

\n\n

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

\n\n

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

\n
\n\n

希望对您有帮助。

\n