2

我正在从自定义引导程序安装 MSI,如果安装 MSI 时出错,我想使用此信息更新引导程序中的 UI(最好也使用错误消息)。

我订阅了这些活动:

Bootstrapper.ApplyComplete
Bootstrapper.Progress
Bootstrapper.Error

Error事件永远不会触发。这个Progress被调用了很多次,但我只从它那里得到关于进度百分比的更新。最后,当 MSI 失败并返回ApplyComplete事件时,会触发以下值:在此处输入图像描述

Status我应该检查这个int吗?如果是这样,任何人都可以找到有关这些值含义的任何文档吗?

以下是引导程序日志的摘录,显示引导程序知道 MSI 已失败:

[1A060:1A9D4][2016-04-06T10:12:09]e000: Error 0x80070643: Failed to install MSI package.
[1A060:1A9D4][2016-04-06T10:12:09]e000: Error 0x80070643: Failed to execute MSI package.
[1AD24:1D73C][2016-04-06T10:12:09]e000: Error 0x80070643: Failed to configure per-machine MSI package.
[1AD24:1D73C][2016-04-06T10:12:09]i319: Applied execute package: InstallationPackage, result: 0x80070643, restart: None
[1AD24:1D73C][2016-04-06T10:12:09]e000: Error 0x80070643: Failed to execute MSI package.

感觉就像我正在以完全错误的方式去做这件事。

我如何收到在 wix 引导程序中安装 MSI 时出错的通知?

4

1 回答 1

1

+1,不再调用错误处理程序。

在 ExecutePackageComplete 中,您会收到一个通用状态 0x800703EF 而不是 0。但是您不会收到该进程返回的错误代码。

这似乎是 wix 3.10 中的错误!

于 2016-06-03T08:45:35.763 回答