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


Таблица MsiEmbeddedChainer

Используйте эту таблицу для создания установки с несколькими пакетами. Каждая строка в таблице MsiEmbeddedChainer ссылается на отдельную определяемую пользователем функцию, которую можно использовать для установки нескольких пакетов установщика Windows из одного пакета. Исполняемые файлы для определяемых пользователем функций хранятся в пакете установщика Windows.

Установщик Windows 4.0 или более ранней версии: Не поддерживается. Эта таблица доступна начиная с установщика Windows 4.5.

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

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

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

Таблица MsiEmbeddedChainer содержит следующие столбцы.

Столбец Type Ключ Допускает значения NULL
MsiEmbeddedChainer Идентификатор Да N
Условие Condition Нет Да
Командная строка Форматированные Нет Да
Источник CustomSource Нет Нет
Тип Целое число N Нет

 

Столбцы

MsiEmbeddedChainer

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

Состояние

Условный оператор для выполнения определяемой пользователем функции. Вы можете включить или отключить функции, перечисленные в таблице MsiEmbeddedChainer, с помощью преобразования, которое изменяет значения свойств, вычисляемые этим полем. Дополнительные сведения см. в разделе Использование свойств в условных инструкциях.

Командная строка

Значение в этом поле является частью строки командной строки, передаваемой в исполняемый файл, указанный в столбце Источник. Установщик добавляет значение в этом поле в дескриптор транзакции для создания командной строки. Если значение в этом столбце равно NULL, командная строка состоит только из дескриптора транзакции.

Источник

Расположение исполняемого файла для определяемой пользователем функции. Если значение в столбце Type равно 2, этот столбец может содержать внешний ключ в двоичной таблице. Если значение в столбце Тип равно 18, этот столбец может содержать внешний ключ в таблице File. Если значение в столбце Тип равно 50, этот столбец может содержать внешний ключ в таблице Property.

Тип

Функции, перечисленные в таблице MsiEmbeddedChainer, описаны с помощью следующих числовых типов настраиваемых действий. Этот столбец может содержать значения только для следующих трех числовых типов; Любое другое сочетание флагов настраиваемых действий игнорируется.

Тип настраиваемого действия Флаги настраиваемых действий Шестнадцатеричный Decimal
Тип настраиваемого действия 2 msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData 0x002 2
Тип настраиваемого действия 18 msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile 0x012 18
Тип настраиваемого действия 50 msidbCustomActionTypeExe + msidbCustomActionTypeProperty 0x032 50

 

Комментарии

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

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

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