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

Wix 尝试安装已安装应用程序的早期版本会导致错误,wix,windows-installer,burn,Wix,Windows Installer,Burn,我创建了一个自定义UI,并根据需要提供了标准对话框,以避免ICE20错误。我已按要求包括以下行: 如果我使用WIX用户界面,这很好。但现在我已经创建了自己的自定义UI,我收到一条错误代码为2814的“意外错误”消息,然后是一条错误代码为2869的消息。是否有人知道如何捕捉尝试的降级以生成包含正确消息的对话框?我不是MSI对话框专家,但我可以指出以下几点: 您可以自定义内置到MSI中的内部GUI 您还可以为Burnsetup.exe启动器创建自己的GUI。 Burn GUI可以比非常古老的MS

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


如果我使用WIX用户界面,这很好。但现在我已经创建了自己的自定义UI,我收到一条错误代码为2814的“意外错误”消息,然后是一条错误代码为2869的消息。是否有人知道如何捕捉尝试的降级以生成包含正确消息的对话框?

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

  • 您可以自定义内置到MSI中的内部GUI
  • 您还可以为Burn
    setup.exe
    启动器创建自己的GUI。
    • Burn GUI可以比非常古老的MSI GUI更现代
    • Burn启动器可以在安装过程中隐藏内置的MSI GUI
我不确定您定制了什么GUI?

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

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

WiX MSI对话框示例:此处设置了一个示例、修改的WiX MSI对话框:


链接:我有一些关于MSI对话框和Burn GUI的链接。这是相当重叠的,请浏览一下,看看有什么对你有意义:


其他链接:

  • Stefan Kruger非常聪明地解决了MSI GUI对话框的限制:

这是否仅在维护操作期间?(在现有安装上运行“修改”或“修复”时)。这不是100%清楚。这是如果我运行安装程序来安装应用程序,但它已经安装。在这种情况下,它将是您的维护模式对话框。这些对话框未在原始安装过程中显示。在普通WiX软件包中,它们的名称有
MaintenanceWelcomeDlg
MaintenanceTypeDlg
。这些选项允许您修改要素状态。通过使用Orca打开MSI(工具=>对话框预览),可以在MSI文件中看到它们。ControlEvent表将显示每个对话框的事件。“下一步”按钮将启动一个操作或对话框,或同时启动两个操作或对话框。如果你制作自己的对话框,你应该基于现有的对话框集来获得这些对话框(如果它们丢失的话)。谢谢,我来看看示例。