首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstallAware数据库回滚

InstallAware数据库回滚
EN

Stack Overflow用户
提问于 2009-02-24 17:31:35
回答 1查看 349关注 0票数 0

有人知道如何让InstallAware在用户单击“取消”时对数据库执行回滚吗?与InstallShield不同的是,我看不到任何方法来指定何时运行单个脚本。

EN

回答 1

Stack Overflow用户

发布于 2010-05-18 02:36:48

我不认为InstallAware能够回滚数据库事务。我在他们的MS SQL Server命令中没有看到任何对SQL Server回滚的内在支持。如果可能的话,您需要编写自己的回滚脚本。

如果用户在初始对话框中取消安装,MSICode中通常会有一个IF块。它看起来像这样

代码语言:javascript
复制
if variable WIZARD Equals CANCEL
    Terminate Installation
end

这发生在Windows Installer引擎实际执行安装之前。如果您尚未执行数据库脚本,则不需要执行任何操作。如果您在此之前已经应用了数据库脚本,则需要提供一个回滚脚本(如果可能)并在该块中执行它,但在终止安装之前。

如果在安装时取消安装,您将有另一次回滚更改的机会。当用户在安装过程运行时按下CANCEL按钮时(即在用户做出任何选择之后),InstallAware变量SUCCESS将被设置为cancel。您可以检查该条件并执行回滚脚本。通常有一个代码块,它根据成功的价值做各种事情,你可以在那里添加你的代码。

在安装过程中,您始终可以将SQL脚本作为InstallAware执行的最后一个命令。这将消除处理取消的需要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/582696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档