Откат приложения начальной загрузки

Я пытаюсь создать загрузчик Wix Burn, который устанавливает мою MSI. Загрузчик exe работает нормально, но единственная проблема заключается в том, что всякий раз, когда я пытаюсь отменить установку на полпути, настраиваемые действия, добавляемые в msi, не останавливаются. Кто-нибудь может подсказать, как остановить и откатить установку при нажатии кнопки отмены. Заранее спасибо.

1 ответ

Пользовательское действие должно отправить ::MsiProcessMessage() вызывает, чтобы предоставить возможность получить отмену и обработать код возврата из этого API (обычно ERROR_INSTALL_USEREXIT или же IDCANCEL). Затем пользовательское действие должно завершиться.

Если вы посмотрите на некоторые стандартные пользовательские действия WiX, вы увидите множество обращений к WcaProcessMessage() и тому подобное. Мы сохраняем код возврата от тех, и WcaFinalize() возвращает правильную вещь при выходе. Проверять, выписываться src\ca\wcautil\wcautil.cpp а также src\ca\wcautil\wcawrap.cpp например код.

Другие вопросы по тегам