Таблица MsiEmbeddedUI

Таблица MsiEmbeddedUI определяет пользовательский интерфейс, внедренный в пакет установщика Windows.

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

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

Столбец Type Ключ Допускает значения NULL
MsiEmbeddedUI Идентификатор Да N
FileName Text N Нет
Атрибуты Целое число Нет Нет
MessageFilter DoubleInteger Нет Да
Данные Двоичный N Нет

 

Столбцы

MsiEmbeddedUI

Первичный ключ для таблицы.

Имени файла

Имя файла, который получает двоичные сведения в столбце Данные. Имя файла требуется для включения расширения. Например, имя embeddedui.dll допустимо, но embeddedui неприемлемо. Имя может быть локализовано. Это поле может содержать короткое или длинное имя файла, но не может содержать и то, и другое. Формат этого поля аналогиен типу данных столбца Имя файла, за исключением того, что вертикальный разделитель (|) для синтаксиса короткого имени файла или длинного имени файла недоступен. Так как на некоторых веб-серверах учитывается регистр, FileName должно точно соответствовать регистру исходных файлов, чтобы обеспечить поддержку загрузки из Интернета.

Атрибуты

Сведения о данных в столбце Данные. Значение в этом поле может содержать одну или несколько из следующих констант.

Константа Шестнадцатеричный Decimal Значение
Нет 0x00 0 Файл не является DLL-файлом для пользовательского интерфейса. Это может быть файл ресурсов, используемый пользовательским интерфейсом.
msidbEmbeddedUI 0x01 1 Основной DLL-файл для пользовательского интерфейса. С помощью этого атрибута можно пометить не более одной строки в таблице. Если этот атрибут помечается несколькими строками, это ошибка и невозможно гарантировать, какая библиотека DLL используется.
msidbEmbeddedHandlesBasic 0x02 2 Позволяет установщику вызывать внедренный пользовательский интерфейс во время установки на базовом уровне пользовательского интерфейса. Установщик игнорирует этот атрибут, если он не сочетается с атрибутом msidbEmbeddedUI .

 

MessageFilter

Указывает типы сообщений, отправляемых в библиотеку DLL пользовательского интерфейса. Этот столбец относится только к строкам с атрибутом msidbEmbeddedUI . Это поле должно иметь значение NULL, если строка ссылается на файл ресурсов, а значение Атрибуты равно NULL. Если строка ссылается на библиотеку DLL пользовательского интерфейса, значение в этом столбце не должно быть null.

Значение в этом столбце может быть сочетанием следующих значений. Установщик игнорирует любые другие значения.

Константа Шестнадцатеричный Decimal Описание
INSTALLLOGMODE_FATALEXIT 0x00001 1 Преждевременное прекращение.
INSTALLLOGMODE_ERROR 0x00002 2 Сообщения об ошибках.
INSTALLLOGMODE_WARNING 0x00004 4 Предупреждения.
INSTALLLOGMODE_USER 0x00008 8 Сообщения пользователей.
INSTALLLOGMODE_INFO 0x00010 16 Незарегигированные сообщения о состоянии.
INSTALLLOGMODE_FILESINUSE 0x00020 32 Файлы, хранящиеся в настоящее время в использовании.
INSTALLLOGMODE_RESOLVESOURCE 0x00040 64 Запросы на разрешение источника.
INSTALLLOGMODE_OUTOFDISKSPACE 0x00080 128 Сообщения о дисковом пространстве.
INSTALLLOGMODE_ACTIONSTART 0x00100 256 Сообщения о запуске действия.
INSTALLLOGMODE_ACTIONDATA 0x00200 512 Сообщения о данных действия.
INSTALLLOGMODE_PROGRESS 0x00400 1024 Сообщения о ходе выполнения.
INSTALLLOGMODE_COMMONDATA 0x00800 2048 Сообщения инициализации пользовательского интерфейса.
INSTALLLOGMODE_INITIALIZE 0x01000 4096 Сообщения о запуске пользовательского интерфейса, отправленные при запуске установки продукта.
INSTALLLOGMODE_TERMINATE 0x02000 8192 Сообщения о завершении работы пользовательского интерфейса, отправленные после завершения установки продукта.
INSTALLLOGMODE_SHOWDIALOG 0x04000 16384 Сообщения, отправленные до отображения диалогового окна пользовательского интерфейса.
INSTALLLOGMODE_RMFILESINUSE 0x02000000 33554432 Файлы, хранящиеся в настоящее время в использовании.
INSTALLLOGMODE_INSTALLSTART 0x04000000 67108864 Начинается установка продукта. Сообщение содержит productName и ProductCode.
INSTALLLOGMODE_INSTALLEND 0x08000000 134217728 Установка продукта заканчивается. Сообщение содержит значение ProductName, ProductCode и возвращаемое значение продукта.

 

Данных

Этот столбец содержит двоичные сведения. Если поле Attribute помечено атрибутом msidbEmbeddedUI , сведения в этом поле должны быть dll. Если поле Attribute не является атрибутом msidbEmbeddedUI , сведения в этом поле могут быть файлом ресурсов в любом формате.

Комментарии

Чтобы использовать встроенный пользовательский интерфейс, разработчик программы установки должен создать эту функцию в пакет установщика Windows. Таблица MsiEmbeddedUI определяет внедренный пользовательский интерфейс. Библиотека DLL для внедренного пользовательского интерфейса должна экспортировать функции InitializeEmbeddedUI, EmbeddedUIHandler и ShutdownEmbeddedUI . Пакеты, не поддерживающие встроенный пользовательский интерфейс, могут использовать внутренний пользовательский интерфейс установщика Windows.

Чтобы запустить средства отладки для Windows во встроенном пользовательском интерфейсе, используйте методы, описанные в разделе Отладка пользовательских действий. Задайте для msiBreak значение MsiEmbeddedUI.

Пример внедренного пользовательского интерфейса см. в разделе Использование внедренного пользовательского интерфейса.