Установка Multiple-Package

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

Пакет установки с несколькими пакетами может содержать таблицу MsiEmbeddedChainer , которая ссылается на определяемую пользователем функцию, которая использует функции MsiBeginTransaction, MsiJoinTransaction и MsiEndTransaction .

В таблице MsiPackageCertificate перечислены сертификаты цифровой подписи, используемые для проверки удостоверения пакетов установки, которые используются для установки с несколькими пакетами. Эту таблицу можно использовать для уменьшения числа случаев, когда при установке с несколькими пакетами отображается запрос контроля учетных записей (UAC), требующий ответа от администратора.

Следующие функции установщика Windows могут вносить изменения на компьютер пользователя, когда установщик Windows устанавливает, восстанавливает, обновляет или удаляет приложения. Начиная с установщика Windows 4.5 установщик может откатывать изменения, внесенные этими функциями во время обработки транзакций установки с несколькими пакетами:

MsiAdvertiseProduct
MsiAdvertiseProductEx
MsiApplyMultiplePatches
MsiApplyPatch
MsiConfigureFeature
MsiConfigureProduct
MsiConfigureProductEx
MsiInstallMissingComponent
MsiInstallMissingFile
MsiInstallProduct
MsiProvideAssembly
MsiProvideComponent
MsiProvideQualifiedComponent
MsiProvideQualifiedComponentEx
MsiReinstallFeature
MsiReinstallProduct
MsiRemovePatches

Существует исключение, если установщик Windows обнаруживает пакет, принадлежащий установке с несколькими пакетами, который содержит действие ForceReboot или ScheduleReboot . В этом случае установщик Windows устанавливает не только этот пакет. Можно установить другие пакеты, относящиеся к установке с несколькими пакетами, которые не содержат действия ForceReboot или ScheduleReboot.

**Установщик Windows 4.0 и более ранних версий: **Обработка транзакций установки установщика Windows с несколькими пакетами не поддерживается. В этих версиях установщика Windows не удается выполнить откат установки нескольких пакетов в виде одной транзакции.

Windows Server 2008 R2 с включенной ролью служб удаленных рабочих столов : Не поддерживается. Установка нескольких пакетов с помощью таблицы MsiEmbeddedChainer завершается сбоем, если включена роль служб удаленных рабочих столов .