Сохраняйте контроль над тем же диалоговым окном в msi, когда пользователь нажимает Ok - PullRequest
0 голосов
/ 17 ноября 2011

Я создаю настраиваемое действие DLL, которое отображает окно сообщения со значениями из таблицы свойств, как показано ниже:

MessageBox(NULL, "This is a message box", szBuffer1, MB_OK);

Я прикрепил это настраиваемое действие к кнопке Далее.При нажатии на Next в этом диалоговом окне появится всплывающее сообщение.Когда пользователь нажимает кнопку Ok в окне сообщения, элемент управления должен вернуться в то же диалоговое окно, и следующее диалоговое окно не должно отображаться.Как мне этого добиться?

1 Ответ

3 голосов
/ 17 ноября 2011

Я предлагаю вам использовать «SpawnDialog» WIX, который вернет управление тому же диалоговому окну: Вот пример: 1. Создайте диалоговое окно сообщения:

  <Dialog Id="MessageDlg" Width="260" Height="120" Title="[ProductName]">
    <Control Id="OK" Type="PushButton" X="102" Y="90" Width="56" Height="17" Default="yes" Cancel="yes" Text="OK">
      <Publish Event="EndDialog" Value="Return">1</Publish>
    </Control>
    <Control Id="Text" Type="Text" X="48" Y="22" Width="194" Height="60" Text="[YOURMESSAGE]" />
    <Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="WixUI_Ico_Info" />
  </Dialog>

2.Установите свойство «YOURMESSAGE» в пользовательском действии.3. Вызовите этот диалог при нажатии следующей кнопки.

<Publish Event="SpawnDialog" Value="MessageDlg">1</Publish>
...