Не думаю, что InstallAware сможет откатить транзакцию базы данных. Я не видел встроенной поддержки откатов SQL Server в их команде MS SQL Server. Вам нужно будет написать собственный сценарий отката, если это возможно.
Обычно в MSICode есть раздел с блоком IF, если пользователь отменяет установку во время начальных диалоговых окон. Это выглядит примерно так
if variable WIZARD Equals CANCEL
Terminate Installation
end
Это происходит до того, как механизм установщика Windows фактически выполнит установку. Если вы не выполняли сценарии базы данных, никаких действий не требуется. Если вы применяли сценарии базы данных до этого момента, вам потребуется предоставить сценарий отката (если это возможно) и выполнить его в этом блоке, но до завершения установки.
Если вы отмените установку во время установки, у вас будет еще один шанс откатить изменения. Когда пользователь нажимает кнопку отмены во время процесса установки (т. Е. После того, как пользователь сделал какой-либо выбор), переменная InstallAware SUCCESS будет установлена на CANCEL. Вы можете проверить это условие и выполнить сценарий отката. Обычно есть блок кода, который выполняет различные действия в зависимости от значения SUCCESS, вы можете добавить свой код туда.
Вы всегда можете сделать свой SQL-скрипт последней командой, выполняемой InstallAware в процессе установки. Это исключило бы необходимость обработки отмены.