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


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

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

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

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

Следующие функции установщика 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 завершается ошибкой, если включена роль служб удаленных рабочих столов.