Как отобразить причину неудачной предварительной установки в проектах записи загрузчика?

Я создал проект загрузчика начальной загрузки, который устанавливает 3 пакета MSI. Если в каком-либо из пакетов произошла ошибка или возникли какие-либо другие ошибки, в результате которых установка не удалась, через мое приложение WPF должно отображаться сообщение об ошибке. Как я могу это сделать? Любой пример будет высоко ценится.

1 ответ

Решение

Вам нужно будет подписаться на (многие) события движка. У большинства из них есть EventArgs, которые являются производными от ResultStatusEventArgs. Если статус не 0, что-то пошло не так.

Например, подвох все в конце установки:

    ...
    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}";
        }
    }
Другие вопросы по тегам