4

Прочитав объяснение Microsoft, а также некоторые другие, я все еще не понимаю:

Когда обновление безопасности, критическое обновление, обновление, накопительный пакет обновления, драйвер или пакет компонентов устанавливают файлы версии GDR, файлы исправлений также копируются в папку% windir%\$ hf_mig $. Это поддерживает миграцию на соответствующие файлы, если позже вы установите исправление или пакет обновления, включающий более ранние версии этих файлов. Например, рассмотрим следующий сценарий:

Вы устанавливаете обновление для системы безопасности, которое устанавливает GDR-версию File.dll с номером версии 5.2.3790.1000 и копирует исправление версии File.dll с номером версии 5.2.3790.1000 в папку% windir%\$ hf_mig $.

Вы устанавливаете исправление, которое включает версию исправления File.dll с номером версии 5.2.3790.0000.

В этом случае установка исправления на шаге 2 устанавливает версию исправления File.dll (номер версии 5.2.3790.1000) из папки% windir%\$ hf_mig $ вместо версии исправления File.dll (номер версии 5.2.3790.0000) из пакета исправлений.

Я не понимаю Почему бы не так

  • Вы применяете первое, что содержит версию 5.2.3790.1000 , старая версия заменяется.
  • Вы применяете второе, содержащее версию 5.2.3790.0000 , программа обновления обнаруживает, что ваша версия новее, и оставляет файл в покое.

Преимущества очевидны, так что я неправильно понимаю?

1 ответ1

2
  • Не каждая функция установлена сразу. Патч может доставить обновленный file.dll который ничего не использует. Позже вы устанавливаете функцию, используя file.dll и получаете последнюю версию, которую может предоставить система, которая не обязательно должна быть установлена на установочном носителе.
  • Вы удаляете функцию. file.dll удаляется из %systemroot%\system32 . Позже вы переустанавливаете функцию (или другую программу / функцию, которая требует file.dll). Если у вас нет кэшированной версии в $hf_mig$ , у вас будет небезопасная или нестабильная версия file.dll . Если вам особенно не повезло, он был установлен с помощью какого-либо метода, который не позволяет Центру обновления Windows правильно замечать старую версию файла.
  • Патчи часто доставлялись для разных уровней SP одновременно. Если вы не используете последний пакет обновления, при установке пакета обновления будут установлены более старые версии file.dll без кэшированных версий в $hf_mig$ . Или, скажем, вам нужно удалить SP - вы вернетесь к последним версиям, доступным в $hf_mig$ а не к тем, которые были поставлены с SP2 (по сравнению с SP3), что сведет к минимуму количество обновлений, которое вам придется повторно загрузить через Центр обновления Windows.
  • IIRC, это также может быть использовано для отслеживания не версионных файлов и обеспечения их максимально возможной актуальности.

По сути, он используется в тех случаях, когда функции, исправления и пакеты обновления Windows добавляются и удаляются после первоначальной установки и обновления системы. Если все, что вы когда-либо делаете, это устанавливаете Windows, переходите к «Установка и удаление компонентов» сразу после этого и добавляйте только обновления в вашу систему, это может не иметь большого смысла. Для всех, у кого есть возможность откатить плохое исправление, удалить неправильно работающий SP или добавить функцию в Windows намного позже в жизненном цикле системы, необходимо убедиться, что последние версии файлов могут быть доставлены, как только возможно, вместо того, чтобы требовать от пользователя перезапускать обновление Windows после каждого незначительного изменения системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .