Wix 安装程序 - 调整致命错误对话框的大小或使用自定义对话框代替致命错误对话框

Wix Installer - Resize fatal error dialog or use custom dialog in place of fatal error dialog

在 WiX 安装程序中 - 如何自定义或覆盖致命错误对话框 ()?我想显示详细的错误消息而不是默认设置失败消息。

选项:

  1. 是否可以在 WiX 中调整致命错误对话框的大小?
  2. 如果没有,我如何使用我自己的对话框代替致命错误对话框?

要调整大小或以其他方式修改任何现有对话框,本质上您需要替换它。幸运的是,您可以从 git 存储库下载原始资源并根据需要进行修改。

首先,为了能够修改任何 UI 元素,您需要覆盖默认的 UI table。让我们为此示例修改 InstallDir UI:

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

现在让我们通过下载源代码并更改我们想要的内容来修改 WixUI_InstallDir。我们通过在设置中添加一个新的 CustomWixUI_InstallDir.wxs 文件来做到这一点。内容可以从WixUI_InstallDir.wxsgit.

下载

通过更改新创建的 CustomWixUI_InstallDir.wxs 文件中元素 UI 的 Id 属性,为此 UI 分配唯一 ID:

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

找到引用 FatalError 对话框的一行并将其替换为您自己的致命错误对话框,如下所示:

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

现在我们需要再次下载 FatalError.wxs 源代码或从头开始创建它。让我们再次从 git 下载 FatalError.wxs 源代码。并将其添加为名为 Custom_FatalError.wxs.

的新安装文件

在设置过程中出现致命错误后,还有一个步骤可以使此对话框出现:在 Custom_FatalError.wxs 文件中找到对这个对话框进行排序的行,并将它们替换为您自己的对话框 ID,如下所示:

原文:

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

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

修改时间:

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

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

就是这样,现在您可以按照此示例自由修改 FatalError 对话框或任何其他对话框。我个人通过修改 Description 控件在 FatalError 对话框中添加了自定义错误消息:

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