如何自定义Wix进度对话框?

Sam*_*ack 5 wix wix3.5

我试图自定义标准的WiX进度对话框(我想让它显示ActionData)。我遵循了Neil的自定义对话框指南,但是麻烦的是,原始的ProgressDlg仍在显示,而不是我的。

我想我知道为什么:如果您查看ProgressDlg源代码,则可以看到以下代码块:

   <InstallUISequence>
    <Show Dialog="ProgressDlg" Before="ExecuteAction" />
  </InstallUISequence>
Run Code Online (Sandbox Code Playgroud)

因此,它不是像大多数对话框那样由另一个对话框发布,而是作为InstallUISequence的一部分直接触发的。那么我该如何覆盖呢?

Sam*_*ack 4

看来进度对话框必须是 InstallUISequence 中 ExecuteAction 之前的最后一件事 - 否则,因为进度对话框是无模式的,所以它会立即显示然后隐藏。

因此,我的解决方案只是确保我的自定义进度对话框显示在现有进度对话框之后:

  <InstallUISequence>
    <Show Dialog="CustomProgressDlg" After="ProgressDlg" />
  </InstallUISequence>
Run Code Online (Sandbox Code Playgroud)

  • 您可以用您自己的 CustomProgressDlg 替换对 ProgressDlg 的引用。或者编辑现有的ProgressDlg。 (2认同)