_MSIExecute Mutex

仅在处理 InstallExecuteSequence 表AdminExecuteSequence 表AdvtExecuteSequence 表时设置_MSIExecute Mutex。

由于两个安装不能在同一进程中运行,因此在两种情况下,尝试调用安装程序的应用程序编程接口(API)将返回ERROR_INSTALL_ALREADY_RUNNING(1618):

有关要安装的应用程序的信息,请参阅 事件日志记录 消息。

如果返回ERROR_INSTALL_ALREADY_RUNNING错误是不切实际的,可以在尝试使用 QueryServiceStatusEx 函数启动安装之前检索 Windows Installer 服务的当前状态。 如果返回 SERVICE_STATUS_PROCESS 结构的 dwControlsAccepted 成员的值 SERVICE_ACCEPT_SHUTDOWN,则 Windows Installer 服务当前正在运行。

Windows Installer 2.0:不支持。 使用 QueryServiceStatusEx 函数检索 Windows Installer 服务的当前状态需要 Windows Installer 版本 3.0 或更高版本。