MSI.SetInternalUI

table MSI.SetInternalUI ( number UILevel,
number WindowHandle = nil )
Примеры

Описание

Вызывает функцию MsiSetInternalUI чтобы задействовать внутренний интерфейс пользователя программы-установщика. Затем этот пользовательский интерфейс используется для всех последующих вызовов функций программы-установщика (инсталлера) генерирующих пользовательский интерфейс, в этом процессе. Обычно это действие вызывается перед вызовом действия MSI.InstallProduct.

Параметры

UILevel

(число) Устанавливаемый уровень интерфейса пользователя. Некоторые значения могут быть объединены с другими. В этом случае для объединения значений используется символ "плюс" ("+"). Выбор из:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
INSTALLUILEVEL_NOCHANGE0Нет изменения в уровне (UI) пользовательского интерфейса. Тем не менее, если параметр WindowHandle не равен значению nil, родительское окно может изменяться.
INSTALLUILEVEL_DEFAULT1Программа установки выбирает подходящий уровень пользовательского интерфейса.
INSTALLUILEVEL_NONE2Полностью автоматическая (тихая) установка.
INSTALLUILEVEL_BASIC3Простейшее отображение хода процесса (progress) и обработка ошибок.
INSTALLUILEVEL_REDUCED4Авторский пользовательский интерфейс с подавлением диалоговых окон мастера (помощника).
INSTALLUILEVEL_FULL5Авторский пользовательский интерфейс с мастерами (помощниками), индикатором хода процесса и обработкой ошибок.
INSTALLUILEVEL_HIDECANCEL32Если объединить со значением INSTALLUILEVEL_BASIC, программа установки покажет простое диалоговое окно, отображающее ход процесса, но не покажет на нем кнопку Отмена (Cancel). Это предотвратит отмену установки пользователем.
INSTALLUILEVEL_PROGRESSONLY64Если объединить со значением INSTALLUILEVEL_BASIC, программа установки покажет простое диалоговое окно, отображающее ход процесса, но не покажет любые модальные окна или окна ошибки.

Примечание переводчика: Модальное окно в графическом интерфейсе пользователя (GUI) - дочернее окно (child window) для взаимодействия пользователя с приложением: оно служит для получения информации от приложения или для ввода запрашиваемых данных и выбора опций; поэтому модальное окно часто называется диалоговым (dialog box, modal dialog ). Если открывается модальное окно, то возврат управления приложению может произойти только после реакции пользователя. B Windows могут открываться только модальные окна, относящиеся к одному и тому же приложению.
INSTALLUILEVEL_ENDDIALOG128Если объединить с любым вышеуказанным значением, программа установки покажет модальное окно в конце удачной установки или если произошла ошибка. При отмене пользователем никаких диалоговых окон не отображается.
INSTALLUILEVEL_SOURCERESONLY256Если это значение объединить со значением INSTALLUILEVEL_NONE, программа-установщик покажет только диалоговые окна используемые для исходного решения. Никакие другие диалоговые окна не показываются. Это значение не действует, если уровень UI не является INSTALLUILEVEL_NONE. Оно используется с внешним пользовательским интерфейсом предназначенным для обработки всех UI, кроме исходного решения. В этом случае программа-установщик обрабатывает исходное решение.

WindowHandle

(число) Идентификатор окна, которое становится владельцем любого созданного пользовательского интерфейса. Если этим параметром является значение nil, владелец пользовательского интерфейса не изменяется. Можно использовать действие Application.GetWndHandle для получения дескриптора основного окна приложения.

Возврат

ResultVariable

(таблица) Возвращает значение nil, если вызов неудачен или таблицу со следующими индексами, в случае успеха:

КЛЮЧ
KEY
ТИП
TYPE
ОПИСАНИЕ
DESCRIPTION
PreviousInterfaceчислоПредыдущий уровень пользовательского интерфейса.
PreviousWindowHandleчислоПредыдущий идентификатор окна процесса владельца. Если параметр WindowHandle был передан как nil или не указывался, это значение будет nil.

Если действие не выполняется, возвращается значение nil. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия

Примеры

Пример 1

-- Get the extract path using a previously defined function.
-- Получаем путь извлечения используя ранее определенную функцию.
strInstallerPathExtracted = g_GetExtractPath(strProductCode);

local tbResult = MSI.SetInternalUI(INSTALLUILEVEL_FULL);

if (not tbResult) then
   Dialog.Message("Error", "Failed MSI.SetInternalUI");
end

MSI.InstallProduct(strInstallerPathExtracted, "");
Вызываем действие MSI.SetInternalUI для отображение полного внутреннего интерфейса. Если вызов неудачен, показываем пользователю сообщение об ошибке. Затем устанавливается файл MSI.
Смотрите также: Связанные действия