我在WiX中构建的安装程序没有固定的对话框流。它基于用户输入。例如,我有一个RadioButton,允许用户配置数据库或暂时跳过它。根据选择,下一个对话框应该不同。最好的办法是什么?
我尝试在NewDialog事件的值字段中使用我之前设置的属性,如下所示:
<Publish Event="NewDialog" Value="[NEXTDIALOG]" Order="1">
1
</Publish>
但是,正如我后来发现这不起作用,因为Value字段不处理格式化文本,只有文字。
然后,我进行了谷歌搜索,找到通过C#CustomAction显示新对话框的示例,但无法找到。也许这甚至都不是一种选择。
到目前为止,唯一可行的选择是使用如下条件:
<Publish Event="NewDialog" Value="Dialog1">
[NEXTDIALOG] = "Dialog1"
</Publish>
<Publish Event="NewDialog" Value="Dialog2">
[NEXTDIALOG] = "Dialog2"
</Publish>
但不知何故,这似乎不是最好的做法。在我看来,需要根据一些用户输入更改对话框的顺序,这是非常常见的,所以我希望有一种更原生的方法。有什么建议吗?
提前致谢!
答案 0 :(得分:1)
通过设置属性并在发布事件 IS 上检查它来改变对话框的流程,这是动态更改dailog流量的正确方法。
但是,您必须保证,如果用户单击下一个对话框上的“后退”按钮,则必须跳回到用户初始选择的对话框。
作为开发人员,通常你会选择一个现有的对话框集(WixUI_FeatureTree WixUI_InstallDir,WixUI_Minimal,WixUI_Advanced或WixUI_Mondo),根据自己的喜好改变流程并改用它。
请查看此WIX页面。