как заменить сообщение об ошибке (2753) всплывающим окном (WIX) - PullRequest
0 голосов
/ 27 ноября 2010

Я хочу знать, как заменить сообщение об ошибке для всплывающего окна в Wix.

У меня есть установщик, имеющий две разные функции, и когда я не выбираю какую-либо опцию, появляется сообщение об ошибке: «Программа установки обнаружила непредвиденную ошибку при установке этого пакета. Это может указывать на проблему с этим пакетом. Код ошибки - 2753.» *

<Feature Id="Complete" Title="App"
         Display="expand" Level="1" AllowAdvertise='no' InstallDefault='local'>

  <Feature Id="App1" Title="App1.exe" Level="1" AllowAdvertise='no' InstallDefault='local'>
    <Condition Level="0">INSTALL_GUEST_FEATURES = 0</Condition>

    <ComponentRef Id="App1Executable" />
  </Feature>

  <Feature Id="App2" Title="App2.exe" Level="1" AllowAdvertise='no' InstallDefault='local'>
    <Condition Level="0">INSTALL_HOST_FEATURES = 0</Condition>

    <ComponentRef Id="App2Executable" />

  </Feature>
</Feature>

<UIRef Id="WixUI_FeatureTree" />
<UIRef Id="WixUI_ErrorProgressText" />

Можно ли заменить это сообщение для всплывающего окна?

Спасибо!

1 Ответ

0 голосов
/ 26 марта 2011

Вы можете создать собственное диалоговое окно и передать в него сообщение об ошибке.См. Мой код ниже.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <UI>
            <Dialog Id="InvalidDBConnDlg" 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="[DBCONNERR]" />
                <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>
        </UI>
    </Fragment>
</Wix>

В своем пользовательском действии вам нужно установить значение DBCONNERR и вызвать это диалоговое окно, если определенное условие не выполняется

...