_MSIExecute Mutex
仅在处理 InstallExecuteSequence 表、AdminExecuteSequence 表或 AdvtExecuteSequence 表时才会设置 _MSIExecute Mutex。
由于不能在同一进程中运行两个安装,因此在以下两种情况下,尝试调用安装程序的应用程序编程接口 (API) 会返回 ERROR_INSTALL_ALREADY_RUNNING (1618):
- 设置 _MSIExecute Mutex 时。
- 当前进程正在处理 InstallUISequence 表或 AdminUISequence 表时。
有关正在安装的应用程序的信息,请参阅事件日志记录消息。
如果返回 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 或更高版本。