WiX: как запланировать InstallUISequence - PullRequest
1 голос
/ 23 сентября 2011

Я работаю над установщиком.Это очень просто;Я просто записать какой-то ключ в Реестр Windows .Но прежде чем сделать это, я должен проверить некоторые условия, поэтому я делаю четыре диалоговых окна:

  1. Welcome;

  2. Проверьте это подключение к Интернетудоступно

  3. Убедитесь, что база данных доступна

  4. Записать реестр и показать окончательную информацию.

И я планирую InstallUISequence, как показано ниже.

<InstallUISequence>
    <Show Dialog="Welcome"
          After="ExecuteAction"/>
</InstallUISequence>

И я использую «next» и «pre» для навигации по другим диалогам.Это работает, но диалоговое окно приветствия не отображается сразу.Через полминуты после диалога подготовки и в течение этой полминуты у него нет диалогового окна прогресса - кажется, что установка завершилась.

Ввиду этого я изменяю расписание следующим образом в диалоге приветствия:

<InstallUISequence>
    <Show Dialog="Welcome"
          before="ExecuteAction"/>
 </InstallUISequence>

И в диалоговом окне writeRegistry:

<InstallUISequence>
    <Show Dialog="writeRegistry"
          After="ExecuteAction"/>
</InstallUISequence>

Я хочу выполнить ExecuteAction (записать реестр) перед отображением диалогового окна writeRegistry.Но похоже, что в реестр ничего не было записано.

В чем здесь проблема и как ее можно исправить?

1 Ответ

0 голосов
/ 23 сентября 2011

ExecuteAction обрабатывает InstallExecuteSequence.Поэтому, когда начинается это действие, установка выполняется.

Все ваши диалоги должны быть запланированы до ExecuteAction.

...