Installation InstallAware数据库回滚

Installation InstallAware数据库回滚,installation,installation-package,installaware,database-installation,Installation,Installation Package,Installaware,Database Installation,有人知道如何让InstallAware在用户单击“取消”时回滚数据库吗?与InstallShield不同,我看不到任何指定单个脚本何时运行的方法。我认为InstallAware无法回滚数据库事务。我在他们的MS SQL Server命令中没有看到任何对SQL Server回滚的内在支持。如果可能的话,您需要编写自己的回滚脚本 如果用户在初始对话框中取消安装,MSICode中通常有一个包含IF块的部分。看起来像这样 if variable WIZARD Equals CANCEL Term

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

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

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

if variable WIZARD Equals CANCEL
    Terminate Installation
end
这发生在Windows Installer引擎实际执行安装之前。如果尚未执行数据库脚本,则无需执行任何操作。如果在此之前应用了数据库脚本,则需要提供一个回滚脚本(如果可能)并在该块中执行,但在终止安装之前

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


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

您确定这不是自动神奇地完成的吗?InstallAware有时似乎会做一些古怪的事情,我想知道他们是否会以某种奇怪的方式进行回滚。