在Basic MSI中,Action可以是立即执行,也可以是延迟执行。它们的区别是什么呢?
顾名思义,一个是立即执行,一个延迟执行,等于没说, 。当一个Action处于InstallInitlize和InstallFinalize之间时,我称这个区间为“安装事务”区间。当执行到这个区间时,会先挑出立即执行的Action,立即执行。执行完这些立即执行的Action后,才会执行“安装事务”区间的其他Action。如果这个Action是延迟执行的,那么会把它作为“安装事务”区间的一个action,被顺序执行。 同时,延迟执行的Action,很多Windows Installer的属性不能直接访问,如SupportDir,需要通过Custom Action Data的方式来获得。具体的使用方式,可以参考Installshield OLH 文档。