在WiX 3.11 / Visual Studio 2017上自定义WixUI_Minimal

时间:2019-03-10 20:53:00

标签: visual-studio-2017 wix wix3.11

我正在尝试使用Visual Studio自定义WiX 3.11上设置的WixUI_Minimal对话框。

遵循手册here不再起作用,因为它报告了很多重复的符号。例如:

Queue

(此stack overflow question遇到了同样的问题)

尝试使用此question中的解决方案也无济于事,因为它提出了各种错误代码(与问题中提到的错误代码不同)。

This questionthis one也没有帮助。

在Wix 3.11 / Visual Studio 2017中似乎出现了问题。有人设法了解如何修复它吗?我有点担心WiX会失去其作者的支持...

1 个答案:

答案 0 :(得分:1)

我不确定您为什么认为WiX失去了支持。这里和wix用户邮件列表中提供了大量免费支持。他们还提供带有SLA和修复程序的付费支持选项。其他顾问(例如我本人)也提供免费支持和有偿支持。

WiXUI是一组易于使用的罐装UI,具有有限的覆盖/转换功能。您可以执行将对话框插入向导循环序列之类的操作,但是这样做需要了解ControlEvent表区域中的行是如何评估的。

您可以在此处获得示例:

https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI.wxs

我的第10行未注释,导致它消耗了该片段:

https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI-CustomDialog.wxs

第33-34行将以下行插入ControlEvent表中,这些行基于以下情况优先于现有行:

https://docs.microsoft.com/en-us/windows/desktop/msi/controlevent-table

如果这太限制了您的需求,则可以不使用UI扩展名,而只是从此处获取所有文件的副本,然后对它们进行任何操作:

https://github.com/wixtoolset/wix3/tree/develop/src/ext/UIExtension/wixlib

最后,如果这不能满足您的需求,则可以始终为Burn创建一个自定义引导程序,并使用WPF / MVVM来完成您可能需要的任何事情。

FWIW,我已经编写安装程序已有23年了,使用MSI已有16年了。我是FOSS项目IsWiX的作者,该项目提供了模板和设计器来简化大多数工作的自动化。您可以在此处了解IsWiX的工作原理:

https://github.com/iswix-llc/iswix-tutorials

有兴趣的人士可以免费咨询1小时。只需向我发送电子邮件或向我发送LinkedIn邀请即可。