Поделиться через


Пакеты исправлений

Исправление установщика Windows (MSP-файл) — это файл, используемый для доставки обновлений приложениям установщика Windows. Исправление — это автономный пакет, содержащий все сведения, необходимые для обновления приложения. Пакет исправлений (MSP-файл) может быть гораздо меньше пакета установщика Windows (.msi файла) для всего обновленного приложения. Дополнительные сведения о доставке небольших обновлений для приложений см. в уменьшении размера исправлений.

Пакет исправлений содержит фактические обновления приложения и описывает, какие версии приложения могут получить исправление. Исправления содержат не менее двух преобразований базы данных. Одно преобразование обновляет сведения в базе данных установки приложения. Другое преобразование добавляет сведения, которые установщик использует для файлов исправлений. Установщик использует сведения, предоставляемые преобразованиями, для применения файлов исправлений, хранящихся в потоке файлов шкафа пакета исправлений. Пакет исправлений не содержит базу данных, например пакет установки (.msi файл.)

Начиная с установщика Windows версии 3.0 пакеты исправлений могут содержать сведения, описывающие последовательность исправлений для исправления относительно других обновлений в таблице MsiPatchSequence и дополнительные описательные сведения в таблице MsiPatchMetadata.

Пользователи могут устанавливать приложения и обновления из сетевого административного образа. Хотя пакеты исправлений могут применяться к административным установкам, рекомендуемый способ доставки обновлений заключается в том, чтобы пользователи устанавливали исходное приложение, а затем применяли исправления к локальному экземпляру приложения на своем компьютере. Это обеспечивает синхронизацию пользователей с административным образом. Если исправление применяется к административной установке, все клиенты этой административной установки должны повторно выполнить повторную установку и переустановить приложение для получения обновления. Пока пользователь не откаширует и не переустановит его, пользователь не сможет установить и восстановить установки из исправленной административной установки.

Начиная с установщика Windows 3.0, неадминистраторы могут применять исправления к приложениям, управляемым пользователем, после утверждения исправления как доверенного администратора. Дополнительные сведения о том, как это сделать, см. в исправлении Per-User управляемых приложений. Другим способом является использование исправлений для учетной записи пользователя с минимальными привилегиями.

Заметка

Если задана политика AllowLockdownPatch, пользователи, не являющиеся администраторами, могут применить исправление к существующему приложению при выполнении установки с повышенными привилегиями. Этот метод не рекомендуется, так как он позволяет применять ненадежные исправления к приложению, которое может работать с повышенными привилегиями.

 

Пакеты исправлений состоят из следующих частей. Дополнительные сведения о создании пакетов исправлений см. в создании пакета исправлений.

Поток сводной информации

Сводный поток сведений пакета исправлений содержит сведения об идентификаторе и назначении исправления.

Сводный поток сведений содержит минимум следующих значений:

  • ИДЕНТИФИКАТОР GUID, который однозначно идентифицирует исправление. GUID для этого исправления добавляется в список идентификаторов GUID для более ранних исправлений, которые заменяются этим исправлением.
  • Список кодов продуктов с запятой для допустимых целевых объектов для этого исправления.
  • Список имен вложенных журналов преобразования с запятой в порядке их обработки.
  • Список источников с запятой для этого исправления.

Преобразование вложенных журналов

Пакет исправлений содержит преобразования, которые могут добавлять или удалять файлы, записи реестра, пользовательские интерфейсы и настройки. Преобразования включаются в виде вложенных журналов в пакет. Пакет исправлений содержит два преобразования для каждой целевой базы данных. Одно преобразование — это фактические обновления базы данных установки и создаются из различий между исходными и обновленными образами пакета установки. Другое преобразование добавляет записи в Patch, PatchPackage, Мультимедиа, InstallExecuteSequenceи таблицы AdminExecuteSequence. Сведения в подразделе связывают его с определенным UpgradeCode, ProductCode, ProductVersionи ProductLanguage. Пакет исправлений, который можно применить к нескольким целевым объектам, содержит несколько пар этих преобразований.

Поток файлов шкафа

Поток файлов шкафа, включенный в исправление, может содержать следующие типы файлов:

  • Файлы исправлений, содержащие сведения, необходимые для изменения старой версии файла в новую версию. Один файл исправления можно использовать для обновления одной или нескольких старых версий файла.
  • Дополнительные файлы, добавляемые в приложение, которые отсутствуют в старой версии.
  • Весь файл замены. В редких случаях, когда новая версия файла меньше, чем исправление, необходимое для обновления старой версии этого файла, новый файл может быть включен в его целость. Это новые файлы, установленные в старых версиях.

создание пакета исправлений