Mutex _MSIExecute
Le mutex \_MSIExecute est défini uniquement lors du traitement de la table InstallExecuteSequence, de la table AdminExecuteSequence ou de la table AdvtExecuteSequence.
Comme deux installations ne peuvent pas être exécutées dans le même processus, une tentative d’appel de l’interface de programmation d’application (API) du programme d’installation retourne ERROR_INSTALL_ALREADY_RUNNING (1618) dans deux cas :
- Lorsque le mutex _MSIExecute est défini.
- Lorsque le processus actuel traite la table InstallUISequence ou la table AdminUISequence.
Consultez les messages de journalisation des événements pour obtenir des informations sur l’application en cours d’installation.
Dans les cas où il n’est pas pratique de retourner une erreur ERROR_INSTALL_ALREADY_RUNNING, vous pouvez récupérer l’état actuel du service Windows Installer avant de tenter de démarrer l’installation à l’aide de la fonction QueryServiceStatusEx. Le service Windows Installer est actuellement en cours d’exécution si la valeur du membre dwControlsAccepted de la structure SERVICE_STATUS_PROCESS retournée est SERVICE_ACCEPT_SHUTDOWN.
Windows Installer 2.0 : non pris en charge. L’utilisation de la fonction QueryServiceStatusEx pour récupérer l’état actuel du service Windows Installer nécessite Windows Installer version 3.0 ou ultérieure.