Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

_MSIExecute Mutex

76 views
Skip to first unread message

hotmail.com Wayne Russell

unread,
Oct 22, 2003, 9:56:08 AM10/22/03
to
_MSIExecute Mutex

Was the _MSIExecute Mutex added after version 1?
I was wondering because nested installs were not available in version 1, if
I'm not incorrect.


_MSIExecute Mutex

The _MSIExecute Mutex is set only while processing the
InstallExecuteSequence table, AdminExecuteSequence table or
AdvtExecuteSequence table.
Because two installations cannot be run in the same process, an attempt to
call the installer's application programming interface (API) returns
ERROR_INSTALL_ALREADY_RUNNING in two cases:

a.. While the _MSIExecute Mutex is set.
b.. While the current process is processing the InstallUISequence table or
AdminUISequence table.


Carolyn Napier [MSFT]

unread,
Oct 28, 2003, 7:19:37 PM10/28/03
to
The _MSIExecute Mutex has always been available. As you mention, nested
installations were not available in version 1.0 of the Windows Installer. Nested
installations are not affected by the mutex as they are specially designed to
run during the installation as a child install. As mentioned on the "Nested
Installations" topic in the Windows Installer documentation, there are a number
of limitations to using them.

Given that the documentation of the mutex appears to be a source of confusion, I
have provided the information to the doc writers to see about clarifying it.

Hope this helps,
- Carolyn Napier
Microsoft Windows Installer Team

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

MSI FAQ:
<http://www.microsoft.com/windows2000/community/centers/management/msi_faq.asp>


"Wayne Russell" <waynerrr@ hotmail.com> wrote in message
news:%23GTB1QK...@tk2msftngp13.phx.gbl...

hotmail.com Wayne Russell

unread,
Oct 31, 2003, 7:56:39 AM10/31/03
to
I once posted a question asking "what benefit there is in allowing an
MSIEXEC installation to procede to the execute phase before determining that
another execution is in progress and THEN announcing the requirement to
complete the currently in-progress installation?" An MVP answered "One
benefit is that a MSI setup can launch another from its UI sequence
using msiexec.exe." This led me to believe that the _MSIexecute MUTEX was
"created/invented" to prevent nested installations while processing the

InstallExecuteSequence table, AdminExecuteSequence table or
AdvtExecuteSequence table, as stated in the DOCs. (BTW, I also find it
misleading to state [MSI.CHM>CONCURRENT INSTALLATIONS] "The Windows
Installer can only run one installation at a time unless it is a nested
installation.", because it DOES(can) run 2 installations at the
beginning(only).) Since nested installations were only allowed after
version 1.0 of the installer, I am surprised to hear the MUTEX existed in
version 1.0. Now you state that nested installations are not affectted by
the MUTEX, which goes against my theory that it appeared only after version
1.0.

Again, I am not a programmer by trade, so it is probably easy for me to
misunderstand non-explicit documentation. Thank you for contacting the DOC
writers.

Wayne Russell (539747)

"Carolyn Napier [MSFT]" <cna...@online.microsoft.com> wrote in message
news:OuRYXJbn...@tk2msftngp13.phx.gbl...

0 new messages