2

我有一个 WIX 安装程序,我正在尝试弄清楚这条线实际上在做什么(附加到我的 WIX 对话框上的下一个按钮)。

<Publish Event="EndDialog" Value="Return" >1</Publish>

在我看来,这条线意味着我们在显示自定义对话框后将控制权交还给安装程序。但是它如何知道接下来要显示哪个对话框。在我的情况下,它应该显示指示安装进度的对话框,但它跳转到错误的对话框。

如果我把它改成这个(ProgressDlg 是在 WixUI_Minimal UI 集中显示安装进度的对话框,这是我真正想要跳转到的那个),

<Publish Event="NewDialog" Value="ProgressDlg" >1</Publish>

当我尝试安装时它会引发错误

4

1 回答 1

2

好的,我似乎偶然发现了一些现在有效的东西,但我真的不明白为什么。评论将不胜感激。

我有这个对话序列,

WelcomeEulaDlg (part of WixUI_Minimal)
CustomInstall
StartAutomaticallyUI
IC3DatabaseSelection
GSDatabaseSelectionUI
ProgressDlg (part of WixUI_Minimal)

所以基本上我在 EULA 和安装进度对话框之间创建了 4 个对话框。

我将这些对话框放在 InstallUISequence 块中,以便使用 orca 可以在 InstallUISequence 表中显示这些对话框。

这似乎是我的问题。一旦我从块中删除对话框并且只有块中的第一个对话框(即 CustomInstall),它就可以正常工作。

现在看起来像这样,而在该表之前有所有其他对话框

<InstallUISequence>
  <Show Dialog="CustomInstall" After="WelcomeEulaDlg" >NOT Installed</Show>
</InstallUISequence>

我将这些对话框链接在一起并将它们全部包含在内的方法是将下一步和后退按钮链接在一起。他们不需要在 InstallUISequence 中。

我从使用 WixAware 演示并在那里创建一个项目中得到了这个想法。

于 2009-08-18T23:10:03.613 回答