wix common ui dialog - 如何在单个MSI中多次使用同一个对话框

时间:2011-01-03 20:02:24

标签: wix

我正在使用AppSecInc的Wix :: Extensions :: CommonUi。

我需要在MSI中部署两个数据库,并且需要从两个数据库的用户收集数据库连接信息。

我想使用DbCreateCredDlg对话框。

<UI>

....

<DialogRef Id="DbCreateCredDlg" />

<!- use DbCreateCredDlg for database 1 ->

<!- use DbCreateCredDlg for database 2 ->

...

</UI>

有什么办法可以在同一个MSI中多次使用这个对话框吗?

1 个答案:

答案 0 :(得分:1)

我认为您应该将该对话框的源包含在您的源中并相应地进行修改。例如,当此对话框的“下一步”按钮将其返回到数据库2数据的self时,添加一个条件。在提示用户输入数据库2的数据之前,您需要在绑定到对话框控件的属性中保留数据。

因此,Next按钮将执行以下操作(只是行为算法):

  • 如果DB = 1,则保留为database1
  • 输入的数据
  • 设置DB = 2
  • 再次显示此对话框
  • 如果DB = 2,则保留为database2输入的数据
  • 按顺序显示下一个对话框

对于该对话框的后退按钮,应该进行类似的操作。

希望你明白这一点。