尝试安装已安装应用程序的早期版本导致错误

问题描述

我创建了一个自定义 UI,并根据需要提供了标准对话框以避免 ICE20 错误。我已根据需要包含以下行:

如果我使用 WIX UI,这可以正常工作。但是现在我已经创建了自己的自定义 UI,我收到一条错误代码为 2814 的“意外错误”消息,然后是 2869 的一条消息。有谁知道如何捕获尝试降级以生成带有正确消息的对话框?

解决方法

我不是 MSI 对话专家,但有几点我可以指出:

  • 您可以自定义内置于 MSI 的内部 GUI。
  • 您还可以为 Burn setup.exe 启动器制作自己的 GUI。
    • Burn GUI 可能比相当古老的 MSI GUI 更现代。
    • Burn 启动器可以在安装过程中隐藏内置的 MSI GUI。

我不确定您定制的 GUI 是什么?

错误 2814:错误代码 2814:“在对话框 [2] 上,控件 [3] 将一个不存在的控件 [4] 命名为下一个控件控制。” - 这似乎表明对话框上的一个控件指向一个不存在的控件,作为对话框的 TAB 顺序要转到的下一个控件。您需要指向一个存在且应该可见的有效控件。

自定义 MSI GUI:除非您需要非常具体和不寻常的东西,否则很少建议您制作自己的 MSI GUI。您可以使用现有的对话框集和仅 inject a new dialog(这可能是您所做的)。由于 MSI 对话框缺乏灵活性,如果您确实需要很大的灵活性,我建议您制作 Burn setup.exe GUI。我没怎么看这个。

WiX MSI 对话框示例:这里有一个示例,修改后的 WiX MSI 对话框设置:https://github.com/glytzhkof/WiXCustomDialog


链接:我有一些关于 MSI 对话框和刻录 GUI 的链接。这是相当重叠的,请略读一下,看看哪些对您有意义:


其他链接: