2016-10-07 7 views
2

В установщике WiX - Как настроить или переопределить Fatal Error Dialog()? Я хочу показать подробное сообщение об ошибке вместо сообщения об ошибке установки по умолчанию.Wix Installer - изменение размера диалогового окна с ошибкой или использование настраиваемого диалогового окна вместо фатального диалогового окна ошибок

Варианты:

  1. Можно ли изменить размер фатальную ошибку в WiX?
  2. Если нет, как я могу использовать свой собственный диалог вместо фатального диалогового окна ошибок?

ответ

1

Чтобы изменить размер или изменить любой существующий диалог, вам необходимо его заменить. К счастью, вы можете загружать оригинальные источники из репозитория git и изменять их по своему усмотрению.

Во-первых, чтобы иметь возможность изменять любой элемент пользовательского интерфейса, вам необходимо переопределить таблицу UI по умолчанию. Позволяет изменять InstallDir UI для этого примера:

<UIRef Id="WixUI_InstallDir" />  <!-- original --> 
<UIRef Id="CustomWixUI_InstallDir" /> <!-- modified --> 

Теперь позволяет изменять WixUI_InstallDir по downlaoading источника и изменить то, что мы хотим. Мы делаем это, добавляя к настройке новый файл CustomWixUI_InstallDir.wxs. Содержимое можно скачать с WixUI_InstallDir.wxs git.

Назначить уникальный идентификатор для этого интерфейса, изменив атрибут Идентификатор элемента пользовательского интерфейса внутри недавно созданного CustomWixUI_InstallDir.wxs файла:

<UI Id="WixUI_InstallDir">  <!-- original --> 
<UI Id="CustomWixUI_InstallDir"> <!-- modified --> 

найти строку, которая ссылается на диалог FatalError и заменить его своим фатальной ошибкой диалог как так:

<DialogRef Id="FatalError" />  <!-- original --> 
<DialogRef Id="Custom_FatalError" /> <!-- modified --> 

Теперь нам нужно скачать источник FatalError.wxs еще раз или создать его с нуля. Обновите источник FatalError.wxs от git еще раз. И добавьте его в качестве нового установочного файла с именем Custom_FatalError.wxs.

Там еще есть шаг, чтобы сделать этот диалог появляется после фатальной ошибки во время установки: найти строки в файле Custom_FatalError.wxs, что последовательность этого диалога и заменить их собственным идентификатор диалога следующим образом:

Оригинал:

<InstallUISequence> 
    <Show Dialog="FatalError" OnExit="error" Overridable="yes" /> 
    </InstallUISequence> 

    <AdminUISequence> 
    <Show Dialog="FatalError" OnExit="error" Overridable="yes" /> 
    </AdminUISequence> 

Modified:

<InstallUISequence> 
    <Show Dialog="Custom_FatalError" OnExit="error" /> <!-- note that Overridable attribute is removed --> 
    </InstallUISequence> 

    <AdminUISequence> 
    <Show Dialog="Custom_FatalError" OnExit="error" /> 
    </AdminUISequence> 

Это сейчас вы можете свободно изменять диалог FatalError или любой другой диалог по фо Llowing этот пример. Я лично добавил собственное сообщение об ошибке в диалоговом окне FatalError, изменив элемент управления Описание:

<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="80" Transparent="yes" NoPrefix="yes" Text="!(loc.FatalErrorDescription1) [CUSTOMERRORMESSAGE] !(loc.FatalErrorDescription2)" />