Wix 3, диалог выхода - PullRequest
       11

Wix 3, диалог выхода

0 голосов
/ 18 января 2011

Можно ли пропустить диалог завершения после установки?

Причина, по которой мы хотим этого, заключается в том, что мы запускаем новую установку, когда первая установка завершена, и это работает. Однако установка начинается после того, как пользователь нажимает кнопку «Готово» в диалоговом окне «Завершить», но вместо этого ему следует запустить новую установку, не нажимая кнопку «Завершить», чтобы запустить ее.

Код, который мы используем, можно найти по адресу:

https://gist.github.com/raw/784215/7f7cc7dca73e10fd7d991c3926269719d6b204c6/mycustomui.wxs

Вот несколько шагов, которые я хочу сделать:

  • Пользователь запускает .msi, отображается диалоговое окно со списком с языками
  • Пользователь выбирает языки в выпадающем списке и нажимает кнопку «Далее»
  • Установщик распаковывает / устанавливает "настоящую" MSI, а затем завершает работу, а затем использует настраиваемое действие для запуска "настоящей" установки с правильными параметрами.

Ответы [ 2 ]

1 голос
/ 18 января 2011

То, что лучше всего подходит для упомянутого вами сценария, называется bootstrapper .Есть несколько вариантов, вы можете найти эту тему интересно.Кстати, насколько я знаю, dotNetInstaller поддерживает сценарий с языками, которые вы описали из коробки.

0 голосов
/ 18 января 2011

В настоящее время вы используете <UIRef Id="WixUI_Common" /> См. Главу " Изменение последовательности пользовательского интерфейса встроенного диалогового набора " на Настройка встроенных диалоговых наборов WixUI .Это объясняет, как настроить существующий пользовательский интерфейс.Вот пример с этой страницы:

Например, чтобы удалить LicenseAgreementDlg из набора диалогов WixUI_InstallDir, вы должны сделать следующее:

  1. Скопировать полное содержимоеопределенный в WixUI_InstallDir.wxs в исходном коде WiX вашего проекта.
  2. Удалите элементы, которые используются для добавления событий Back и Next для LicenseAgreementDlg.
  3. Измените элементиспользуется для добавления события Next в WelcomeDlg для перехода к InstallDirDlg вместо LicenseAgreementDlg.Например:

    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">1</Publish>
    
  4. Измените элемент, который используется для добавления события Back в InstallDirDlg, чтобы перейти к WelcomeDlg вместо LicenseAgreementDlg.Например:

    <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
    

Вы также можете создать собственное определение пользовательского интерфейса.(Если вы не включите какой-либо пользовательский интерфейс или UIRef, пользовательский интерфейс вообще не будет).

...