_MSIExecute Мьютекс
_MSIExecute Mutex задается только при обработке таблицыInstallExecuteSequence, таблицы AdminExecuteSequenceили таблицу AdvtExecuteSequence.
Так как две установки не могут выполняться в одном процессе, попытка вызова интерфейса программирования приложения установщика возвращает ERROR_INSTALL_ALREADY_RUNNING (1618) в двух случаях:
- Пока задан _MSIExecute Мьютекс.
- В то время как текущий процесс обрабатывает таблицу installUISequence или таблицу adminUISequence.
Дополнительные сведения об установленных приложениях см. в сообщениях журнала событий.
В случаях, когда непрактично возвращать ошибку ERROR_INSTALL_ALREADY_RUNNING, можно получить текущее состояние службы установщика Windows перед попыткой запустить установку с помощью функции QueryServiceStatusEx. Служба установщика Windows в настоящее время выполняется, если значение dwControlsAccepted члена возвращаемой структуры SERVICE_STATUS_PROCESSSERVICE_ACCEPT_SHUTDOWN.
Установщик Windows 2.0: Не поддерживается. Использование функции QueryServiceStatusEx для получения текущего состояния службы установщика Windows требует установки Windows версии 3.0 или более поздней.