在我的一次集成测试中,我有两个线程,它们先卸载然后再安装程序,但在按顺序运行时,它们会生成一个错误Failed to grab execution mutex. System error 258.
为了解决这个问题,我必须在卸载后休眠。我尝试检查msiexec进程是否正在运行,但始终有2-3个进程,所以它不是一个好的指示器。有没有办法检查msiexec执行互斥锁是否可用?
发布于 2012-04-14 03:11:41
bool msiIsRunning = false;
try
{
using(var mutex = Mutex.OpenExisting(@"Global\_MSIExecute"))
{
msiIsRunning = true;
}
}
catch (Exception)
{
// Mutex not found; MSI isn't running
}https://stackoverflow.com/questions/10144268
复制相似问题