_MSIExecute Mutex
Die _MSIExecute Mutex wird nur beim Verarbeiten der InstallExecuteSequence-Tabelle, AdminExecuteSequence-Tabelleoder AdvtExecuteSequence-Tabellefestgelegt.
Da zwei Installationen nicht im selben Prozess ausgeführt werden können, gibt ein Versuch, die Anwendungsprogrammierschnittstelle (APPLICATION Programming Interface, API) aufzurufen, in zwei Fällen ERROR_INSTALL_ALREADY_RUNNING (1618) zurück:
- Während die _MSIExecute Mutex festgelegt ist.
- Während der aktuelle Prozess die InstallUISequence-Tabelle oder AdminUISequence-Tabelleverarbeitet.
Informationen dazu, welche Anwendung installiert wird, finden Sie unter Ereignisprotokollierung Nachrichten.
In Fällen, in denen es unpraktisch ist, einen ERROR_INSTALL_ALREADY_RUNNING Fehler zurückzugeben, können Sie den aktuellen Status des Windows Installer-Diensts abrufen, bevor Sie versuchen, die Installation mithilfe der QueryServiceStatusEx--Funktion zu starten. Der Windows Installer-Dienst wird derzeit ausgeführt, wenn der Wert des dwControlsAccepted Member der zurückgegebenen SERVICE_STATUS_PROCESS-Struktur SERVICE_ACCEPT_SHUTDOWNist.
Windows Installer 2.0: Nicht unterstützt. Die Verwendung der funktion QueryServiceStatusEx zum Abrufen des aktuellen Status des Windows Installer-Diensts erfordert Windows Installer Version 3.0 oder höher.