在官方MSI文档中,InstallExecute
标准操作为documented
InstallExecuteAgain操作运行包含所有操作的脚本 自安装开始以来的动作序列中 最后一次InstallExecuteAgain操作或最后一次InstallExecute操作。
令人惊讶的是,InstallFinalize
在InstallExecute
个文件中排在MSI
后的script
行为documented完全相同!
InstallFinalize操作运行包含所有操作的脚本 自安装开始以来的动作序列中 执行InstallExecute或InstallExecuteAgain操作。
如果我正确阅读文档,installation script
实际上是{{1}}。它只执行一次。如何记录两个排序的操作来执行完全相同的工作来执行它并且只执行一次?
答案 0 :(得分:4)
InstallExecute
,InstallExecuteAgain
和InstallFinalize
都执行安装脚本。区别在于InstallExecute
和InstallExecuteAgain
让事务继续进行。因此,您可以实际“中断”安装,执行其他操作,然后在完成后调用InstallFinalize
继续安装,如果需要再次中断,则调用InstallExecuteAgain
。