Назад | Перейти на главную страницу

Содержат ли версии файлов ОС 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. Означает ли это, что моя версия файла конкретно содержит функциональность, реализованная этим исправлением?

(поскольку мы говорим о конкретном исправлении, я также отмечаю, что это конкретное исправление включает запись в реестр. Лучший способ реализовать это исправление - просто установить пакет исправлений или вручную добавить раздел реестра?)

Я не знаю, отвечает ли это на ваш конкретный вопрос ... но мне достаточно понравился вопрос, чтобы исследовать его, и я обнаружил следующее:

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 - удалить все исправления для этого компонента или перейти к следующему доступному пакету обновления.

Что произойдет, если пользователь установит исправление, а затем через некоторое время установит следующий пакет обновления? Что ж, в этом случае это зависит от исправления и времени его создания.

  1. Если исправление было создано до пакета обновления, то компонент будет перемещен в версию GDR, содержащуюся в пакете обновления.

  2. Если исправление было создано после пакета обновления, компонент будет перенесен в версию компонента, выпущенную после пакета обновления, и останется в той же ветке, в которой был изначально.

Чтобы это работало, эти пакеты содержат как версию RTM GDR, ветвь RTM Hotfix, так и версию SP1 Hotfix и GDR каждого двоичного файла.

Все исправления, созданные для Windows, носят кумулятивный характер по ветке, то есть новое обновление будет содержать новое исправление, а также все предыдущие исправления для этой ветки. Ссылаясь на таблицу выше, установка исправления №4 может дать вам исправления №2 и №4 в ветви GDR. Если компонент находится в ветви LDR, пользователь получит исправления №1-4.

Наконец, технология обслуживания должна обрабатывать случай, когда вам нужна функциональность более старого исправления (например, «Исправление №1» на диаграмме выше), но вы, возможно, уже установили «Исправление №4», которое может быть критическим обновлением безопасности. Что происходит, так это то, что когда устанавливается ветвь исправления GDR, она также помещает в систему копию версии исправления того же исправления. Когда вы запускаете установщик исправления №1, он обнаруживает, что уже установлена ​​более новая версия файла, но также обнаруживает, что необходимо перенести его на версию исправления двоичного файла, которая ранее хранилась в системе. В результате вы получаете двоичный файл исправления для исправления №4, в котором есть как нужное исправление, так и совокупный набор исправлений безопасности.

Надеюсь, это вам поможет.

Да, ваша версия выше, чем версия qfe, что означает, что вы исправлены, а regkey применяется только к xp.