Wixtoolset双列表框

时间:2019-07-12 03:42:10

标签: wix

是否可以通过wixtoolset使用自定义操作来创建双列表框自定义对话框?

我实质上是在尝试这样做: https://www.advancedinstaller.com/user-guide/tutorial-combobox-listbox.html#combolist-scenario1

解决方案的一半在这里:https://www.firegiant.com/wix/tutorial/standard-libraries/custom-actions-and-user-interface/

我使用WcaAddTempRecord(来自wixtoolset sdk的wcautil)填充了我的第一个列表框。问题是,将列表项“移动”到第二个列表框时,我无法获得第二个列表框来显示添加的数据。我什至尝试发布NewDialog事件以显示具有相同双列表框控件的第二个对话框,这似乎是针对该主题的各种帖子所建议的解决方法。那里也没有成功;我只是无法让第二个列表框显示其内容。

我确实在列表框上查看了Wixtoolset源中的WcaAddTempRecord,但唯一的用法已被注释掉。

有指针吗?

1 个答案:

答案 0 :(得分:2)

双重列表框 :Stefan Kruger-MSI MVP-这里有一个很好的示例:http://www.installsite.org/pages/en/msi/articles/MultiListBox/index.htm。请注意,MSI对话框事件存在问题,因此您实际上需要使用两个对话框来确保正确刷新对话框。从概念上来说这很笨拙,但是示例很好。

Dark.exe :您可以使用WiX的 dark.exe 工具反编译Stefan示例中的MSI。然后,您可以提取对话框WiX标记并将其合并到自己的WiX项目中。 This is not trivial

dark.exe示例 :以下是命令行。 Here is more(第4节)。

dark.exe -x outputfolder MySetup.msi

链接 (为了便于检索,上述链接应该可以做到):