Настройка уровня пользовательского интерфейса в пакете MSI

У меня есть проект WiX для создания пакета MSI. Я хочу установить уровень пользовательского интерфейса на 3, 4 или 5, чтобы он мог показывать успех/неудачу после установки. В настоящее время он просто запускается и исчезает. Есть ли способ установить уровень пользовательского интерфейса в пакете?


person Neel    schedule 16.02.2021    source источник


Ответы (1)


Примеры: Примеры быстрого запуска WiX.


Графический интерфейс настройки. Похоже, у вашего MSI вообще нет встроенного графического интерфейса? Если это так, попробуйте установить ссылку на WixUIExtension.dll и определить стандартный набор диалоговых окон WiX для использования в вашем пакете, например WixUI_Mondo. Это даст вашей установке последовательность диалогов по умолчанию, которые предварительно созданы для вас, чтобы их можно было легко применить.

Процедура для Visual Studio (перейдите сюда для интерактивной версии):

  1. В своем решении WiX Visual Studio откройте список проектов, щелкните правой кнопкой мыши «Ссылки» и выберите «Добавить ссылку».... Теперь установите ссылку на: C:\Program Files (x86)\WiX Toolset v3.11\bin\WixUIExtension.dll (или любое другое место, где этот файл находится в вашем ящике)

  2. Файл, на который вы ссылаетесь, содержит наборы GUI по умолчанию. Теперь вы можете просто вставить эту строку в исходный файл WiX, чтобы отобразить диалоговые окна MSI по умолчанию:

    <UIRef Id="WixUI_Mondo" />
    

Вот краткий пример проекта, который вы можете попробовать увидеть в действии: https://github.com/glytzhkof/WiXDefaultDialogsSample (прямая ссылка на строку в исходном коде)


UILEVEL: UILEVEL — это параметр свойства, который вы можете использовать во время фактической установки MSI на компьютере конечного пользователя (но не во время компиляции исходного кода в файл MSI). Свойство позволяет вам контролировать, какая часть внутреннего графического интерфейса установки видна конечному пользователю (если вообще имеется встроенный графический интерфейс). Вы можете показывать все диалоги, сокращенный набор, базовые/минимальные диалоги или вообще не показывать диалоги (правильный беззвучный режим).

Фактический встроенный графический интерфейс MSI добавляется во время компиляции, как описано выше. UILevel не добавляет никакого графического интерфейса в MSI, если он не определен внутри. Однако даже установка без определенного внутреннего графического интерфейса может отображать модальное диалоговое окно в конце, если вы используете эту командную строку:

msiexec.exe /i MySetup.msi /qb+

Вы также можете использовать /qn+ для не пользовательского интерфейса, но модального диалогового окна завершения. Выше приведен базовый пользовательский интерфейс с модальным диалоговым окном завершения. ссылка на Msiexec.exe из расширенного установщика, а вот то же самое из Microsoft Docs и из InstallShield.

Вот диалог старого инструмента для создания командной строки msiexec.exe. Здесь вы можете увидеть различные настройки для UILevels:

Msiexec.exe


Ссылки:

person Stein Åsmul    schedule 17.02.2021
comment
спасибо, это действительно помогло. Могу ли я удалить часть лицензионного соглашения? - person Neel; 23.02.2021