I’m having some sporadic issues when installing Flash plugin and activex. The script starts out by uninstalling all versions of flash and then installs activex and then the plugin. On some machines, I’m receiving an error “Failed to grab execution mutex. System error 258.” I currently have the following code to wait for any running msi before starting any new installation. Some logs show “MSI running” several times, but sometimes they still end up receiving the mutex error. Any ideas? Here is what I have before every uninstallation and installation:
while($true) { try { $mutex = [System.Threading.Mutex]::OpenExisting('Global\_MSIExecute') $mutex = $null Sleep 10 'MSI running...' | Out-File $log -Force -Append } catch [System.Threading.WaitHandleCannotBeOpenedException] { # Mutex not found; MSI isn't running break } }