Откат приложения начальной загрузки
Я пытаюсь создать загрузчик 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
например код.