InstallAware откат базы данных - PullRequest
0 голосов
/ 24 февраля 2009

Кто-нибудь знает, как заставить InstallAware выполнить откат базы данных, когда пользователь нажимает «Отмена»? В отличие от InstallShield, я не вижу способа указать, когда запускаются отдельные сценарии.

1 Ответ

0 голосов
/ 17 мая 2010

Не думаю, что InstallAware сможет откатить транзакцию базы данных. Я не видел встроенной поддержки откатов SQL Server в их команде MS SQL Server. Вам нужно будет написать собственный сценарий отката, если это возможно.

Обычно в MSICode есть раздел с блоком IF, если пользователь отменяет установку во время начальных диалоговых окон. Это выглядит примерно так

if variable WIZARD Equals CANCEL
    Terminate Installation
end

Это происходит до того, как механизм установщика Windows фактически выполнит установку. Если вы не выполняли сценарии базы данных, никаких действий не требуется. Если вы применяли сценарии базы данных до этого момента, вам потребуется предоставить сценарий отката (если это возможно) и выполнить его в этом блоке, но до завершения установки.

Если вы отмените установку во время установки, у вас будет еще один шанс откатить изменения. Когда пользователь нажимает кнопку отмены во время процесса установки (т. Е. После того, как пользователь сделал какой-либо выбор), переменная InstallAware SUCCESS будет установлена ​​на CANCEL. Вы можете проверить это условие и выполнить сценарий отката. Обычно есть блок кода, который выполняет различные действия в зависимости от значения SUCCESS, вы можете добавить свой код туда.

Вы всегда можете сделать свой SQL-скрипт последней командой, выполняемой InstallAware в процессе установки. Это исключило бы необходимость обработки отмены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...