burn bootstrapper项目如何显示过早安装失败的原因?

How to display the reason for pre-mature install fails in burn bootstrapper projects?

我创建了一个烧录引导程序项目,它安装了 3 个 MSI 包。如果任何包中有错误或任何其他错误导致安装失败,则应通过我的 WPF 应用程序显示错误消息。我怎样才能做到这一点?任何例子将不胜感激。

您需要订阅(许多)引擎事件。其中大多数具有从 ResultStatusEventArgs 派生的 EventArgs。如果状态不为 0,则说明出现了问题。

例如,安装结束时的一个catch all:

    ...
    bootstrapper.ApplyComplete += OnApplyComplete;
    ...

    private void OnApplyComplete(object sender, ApplyCompleteEventArgs e)
    {
        // Deal with error here:
        if (e.Status != 0)
        {
            string error = new Win32Exception(e.Status).Message;
            ErrorMessage = $"Error installing: {error}. Code: 0x{e.Status:x8}";
        }
    }