visual-studio-2017 - 在 WiX 3.11 / Visual Studio 2017 上自定义 WixUI_Minimal
问题描述
我正在尝试使用 Visual Studio 自定义 WiX 3.11 上设置的 WixUI_Minimal 对话框。
此处的手册不再起作用,因为它报告了很多重复的符号。例如:
Duplicate symbol 'ControlEvent:VerifyReadyDlg/Back/NewDialog/WelcomeDlg/Installed AND PATCH' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique
(这个堆栈溢出问题遇到了同样的问题)
尝试此问题中的解决方案也无济于事,因为它会出现各种错误代码(与问题中提到的不同)。
Wix 3.11 / Visual Studio 2017 中似乎出现了问题。有没有人设法理解如何修复它?我有点担心 WiX 正在失去其作者的支持......
解决方案
我不确定您为什么认为 WiX 正在失去支持。这里和 wix-users 邮件列表提供了大量免费支持。他们还提供带有 SLA 和修复的付费支持选项。其他顾问(例如我自己)也提供免费支持和付费支持。
WiXUI 是一套简单易用的固定 UI,具有有限的覆盖/转换功能。您可以执行诸如将对话框插入向导循环序列之类的操作,但这样做需要您了解 ControlEvent 表区域中的行是如何计算的。
你可以在这里得到一个例子:
我取消注释第 10 行会导致它消耗这个片段:
第 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 邀请。
推荐阅读
- hyperhtml - hyperHTML for 10,000 Buttons
- azure-web-app-service - 重新启动 Azure 应用服务修复异常
- prestashop - Prestashop 信用卡支付模块
- php - 使用 JsonModel 返回一个空数组作为对象
- python - Iterparse big XML,内存占用少,并获取所有,甚至嵌套的序列元素
- swift3 - 如何在pdfkit swift中添加圆形注释?
- pytorch - 如何在 Google Colab 上安装 PyTorch v1.0.0+?
- mongodb - Mongodb聚合,对象内的对象总和
- java - 由于hackerrank程序中的java代码超时错误而终止
- c# - 为什么 BigInteger ToByteArray 方法有时会生成一个额外的字节?