Как отобразить причину неудачной предварительной установки в проектах записи загрузчика?
Я создал проект загрузчика начальной загрузки, который устанавливает 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}";
}
}