Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Инсталляторы > WixUI


Автор: slashh 13.12.08, 12:29
Пользуюсь стандартным UI. Кода делаю что бы пропускало диалог лицензии, все работает
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <UI>
          <UIRef Id="WixUI_InstallDir" />
          <UIRef Id="WixUI_ErrorProgressText" />
          <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">1</Publish>
          <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
    </UI>


Когда пытаюсь всунуть свой диалог, то оно всеравно переходит на лицензию.
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <UI>
          <Dialog Width="370" Height="270" Id="ClientSettingsDlg" Title="Настройки клиента">
            ..............
          </Dialog>
          <UIRef Id="WixUI_InstallDir" />
          <UIRef Id="WixUI_ErrorProgressText" />
          <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="ClientSettingsDlg">1</Publish>
          <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="ClientSettingsDlg">1</Publish>
        </UI>

Если посмотреть полученные msi , то там, например в WelcomeDlg на pushbutton Next весит по два события на новый диалог(на LicenseAgreementDlg и диалог, который я прописываю), только в 1ом случае переходит на диалог, который я прописал, а во втором - на LicenseAgreementDlg.
Как можно это решить??

Автор: slashh 14.12.08, 13:39
Смотрим через orca в *.msi какой Ordering стоит на стандартное событие нашей кнопки по создания диалога .
Себе вставляем атрибут Order со значение большим, чем посмотрели.

В моей ситуации для WelcomeDlg кнопки Next (на Event=NewDialog Argument=LicenseAgreementDlg ) Ordering стоит 1.
Я поставил у себя 2:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="ConfigSettingsDlg" Order="2">1</Publish>

и все заработало.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)