MSI中的InstallExecute和InstallFinalize操作之间有什么区别?

时间:2013-05-27 09:33:32

标签: windows-installer

在官方MSI文档中,InstallExecute标准操作为documented

  

InstallExecuteAgain操作运行包含所有操作的脚本   自安装开始以来的动作序列中   最后一次InstallExecuteAgain操作或最后一次InstallExecute操作。

令人惊讶的是,InstallFinalizeInstallExecute个文件中排在MSI后的script行为documented完全相同!

  

InstallFinalize操作运行包含所有操作的脚本   自安装开始以来的动作序列中   执行InstallExecute或InstallExecuteAgain操作。

如果我正确阅读文档,installation script实际上是{{1}}。它只执行一次。如何记录两个排序的操作来执行完全相同的工作来执行它并且只执行一次?

1 个答案:

答案 0 :(得分:4)

InstallExecuteInstallExecuteAgainInstallFinalize都执行安装脚本。区别在于InstallExecuteInstallExecuteAgain让事务继续进行。因此,您可以实际“中断”安装,执行其他操作,然后在完成后调用InstallFinalize继续安装,如果需要再次中断,则调用InstallExecuteAgain