更新引导程序结束安装 MSI 但在进度条上显示 60/70%

Update bootstrapper end instalation MSI but show 60/70% on progress bar

我用 msi 和引导程序创建了我的安装器 Wix。 我正在测试更新我的程序。并尝试安装新版本。我想一直使用引导程序。我不知道情况是否总是如此,但我做了一些调整,并为 MSI 安装的引导程序添加了一个进度条。事实证明,在更新时,此条停在 60/70% 处,关闭 MSI 后会出现一个新的引导程序 window。关闭 window 几次会导致第一个 window 的进度条跳到 100%,我可以关闭 window.

我不知道为什么会这样。

我检查了日志,在这两种情况下,最后一行如下所示:

Applying execute package: Installer, action: Install, path: C:\ProgramData\Package Cache{9428A5CF-824D-42D0-ABF7-BC69D4B8FEE7}v1.0.26.40\EkInstaller.Elements.msi, arguments: ' MSIFASTINSTALL="7" CONFIGFILELOCATION="C:\svn2\dotNet\products_ek-graf-pre-v2\trunk\src\Ek.Installer\Ek.Installer.Bootstrapper\bin\Debug"'

除此之外,我没有在日志中显示不同之处:

[4EDC:2970][2020-07-23T08:54:34]i102: Detected related bundle: {2e954545-621e-4062-a306-99197563c483}, type: Upgrade, scope: PerMachine, version: 1.0.24.39, operation: MajorUpgrade

[4EDC:2970][2020-07-23T08:54:34]i102: Detected related bundle: {770a1869-f4b5-4307-b05f-1f8be006757b}, type: Upgrade, scope: PerMachine, version: 1.0.23.39, operation: MajorUpgrade

[4EDC:2970][2020-07-23T08:54:34]i102: Detected related bundle: {ff8d8a34-989d-4fb9-9aa7-2ab0440f514d}, type: Upgrade, scope: PerMachine, version: 1.0.25.39, operation: MajorUpgrade

[4EDC:2970][2020-07-23T08:54:34]i103: Detected related package: {D512899C-F7CC-412C-9110-54CDE5BB2741}, scope: PerMachine, version: 1.0.25.40, language: 0 operation: MajorUpgrade

可能前三个用于安装引导程序的 NetFramework、Sql 和 SSMS,最后一个用于我的 MSI。

我正在尝试更改包中的 InstallerVersion 和 MajorUpgrade 中的计划。

安装程序非常复杂,我无法提供所有代码。也许有人知道这种行为的原因,并可以指导我了解原因。

注意到当 MSI 进度条状态 =“删除文件”时进度条引导程序停止。

编辑:

它为事件先前版本的引导程序生成额外的 window 引导程序。 如果我不更改版本引导程序,它不会生成对话框,并且在更新 msi 时它通常会达到 100%。

似乎是一个 wix 错误。对于安装的每个后续引导程序版本,关闭 MSI window 时都会出现新的引导程序 windows。您可以通过为每个新版本 Bundle 更改 UpgradeCode 来修复它。如果您另外设置 DisableModify = "yes" DisableRemove = "yes" 那么在添加/删除程序中将不会有额外的引导程序实例。