_MSIExecute Mutex
_MSIExecute Mutex solo se establece mientras se procesan las tablas InstallExecuteSequence, AdminExecuteSequence o AdvtExecuteSequence.
Como no se pueden ejecutar dos instalaciones en el mismo proceso, cualquier intento de llamar a la interfaz de programación de aplicaciones (API) del instalador devuelve ERROR_INSTALL_ALREADY_RUNNING (1618) en dos casos:
- Mientras se establece _MSIExecute Mutex.
- Mientras el proceso actual procesa la tabla InstallUISequence o la tabla AdminUISequence.
Consulte los mensajes de registro de eventos para obtener información sobre qué aplicación se está instalando.
En los casos en los que no resulta práctico devolver el error ERROR_INSTALL_ALREADY_RUNNING, puede recuperar el estado actual del servicio Windows Installer antes de intentar iniciar la instalación mediante la función QueryServiceStatusEx . El servicio Windows Installer se está ejecutando actualmente si el valor del miembro dwControlsAccepted de la estructura SERVICE_STATUS_PROCESS devuelta es SERVICE_ACCEPT_SHUTDOWN.
Windows Installer 2.0: no se admite. El uso de la función QueryServiceStatusEx para recuperar el estado actual del servicio Windows Installer requiere la versión 3.0 de dicho servicio, o cualquier versión superior.