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


Таблица MsiEmbeddedChainer

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

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

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

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

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

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

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

 

Столбцы

MsiEmbeddedChainer

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

условие

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

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

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

источник

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

Тип

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

Настраиваемый тип действия Пользовательские флаги действий Шестнадцатиричный Десятичный
тип пользовательского действия 2 msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData 0x002 2
тип пользовательского действия 18 msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile 0x012 18
тип пользовательского действия 50 msidbCustomActionTypeExe + msidbCustomActionTypeProperty 0x032 50

 

Замечания

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

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

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