_MSIExecute Mutex
_MSIExecute Mutex는 InstallExecuteSequence 테이블, AdminExecuteSequence 테이블 또는 AdvtExecuteSequence 테이블을 처리하는 동안에만 설정됩니다.
동일한 프로세스에서 두 개의 설치를 실행할 수 없기 때문에 다음 두 가지 경우에 설치 프로그램의 API(애플리케이션 프로그래밍 인터페이스)를 호출하려고 하면 ERROR_INSTALL_ALREADY_RUNNING(1618)이 반환됩니다.
- _MSIExecute Mutex가 설정되어 있는 동안.
- 현재 프로세스가 InstallUISequence 테이블 또는 AdminUISequence 테이블을 처리하는 동안.
설치되는 애플리케이션에 대한 자세한 내용은 이벤트 로깅 메시지를 참조하세요.
ERROR_INSTALL_ALREADY_RUNNING 오류를 반환하는 것이 실용적이지 않은 경우 QueryServiceStatusEx 함수를 사용하여 설치를 시작하기 전에 Windows Installer 서비스의 현재 상태를 검색할 수 있습니다. Windows Installer 서비스는 반환된 SERVICE_STATUS_PROCESS 구조체의 dwControlsAccepted 멤버 값이 SERVICE_ACCEPT_SHUTDOWN인 경우 현재 실행 중인 것입니다.
Windows Installer 2.0: 지원되지 않습니다. QueryServiceStatusEx 함수를 사용하여 Windows Installer 서비스의 현재 상태를 검색하려면 Windows Installer 버전 3.0 이상이 필요합니다.