同步和异步自定义操作

Windows Installer 将自定义操作作为独立于主安装的线程进行处理。 在同步执行自定义操作的过程中,安装程序会等待自定义操作的线程完成,然后再继续主安装。 在异步执行过程中,安装程序会在当前安装继续的同时运行自定义操作。 因此,自定义操作的创建者必须了解可能在两次函数调用之间对安装数据库进行更改的任何异步线程。

特别是,在异步自定义操作中,应避免对 MsiGetTargetPathMsiSetTargetPath 进行调用。 请改用 MsiGetProperty 获取目标路径。 在任何类型的自定义操作中,都应避免执行批量数据库操作,例如导入、导出和转换操作。

可以在 CustomAction 表的“类型”字段中设置选项标志,以指定主线程和自定义操作线程是同步运行还是异步运行。 请参阅自定义操作返回处理选项

安装程序只能将回退自定义操作并发安装操作作为同步自定义操作执行。