Custom Action
InstallExecuteSequence 和 InstallUISequence 有什么区别?
它们是整个安装过程的两个阶段,第一个阶段是InstallUISequence, 而第二个阶段是InstallExecuteSequence。
为什么要有两个阶段?
由于这个两个阶段在执行的时候有明显的区别,第一个阶段一般是有UI, 它通常是用户对安装过程的一些设定和环境的检查,对机器系统没有任何影响,一般
这个action被标记为immediate, 而第二个阶段通常是真正的安装过程,它对文件,注册表,服务等会产生影响,因而一般这种影响是需要被记录下来,但发生意外失败或中断的时候是可以进行rollback的,这种action会被标记为deferred.
如何决定一个custom action的执行顺序
将它放在InstallExecuteSequence 标签里面,它就在InstallExecuteSequence 阶段执行,同时需要通过 before或是 after来指定它和这个阶段其他action的执行顺序
如果将它放在InstallUISequence标签里面,它就在InstallUISequence阶段执行。
如何决定一个custom action的执行是同步的还是异步的
设置custom action的return标签,如果它是check则表明它是同步的,而且需要检查它的返回结果,如果它是ignore它同样也是同步的,但可以忽略它的返回结果
asyncNoWait 和 asyncWait表明它是异步的