Kar*_*aru 14 windows windows-installer
此错误的通常解决方法是重新启动机器,这确实通常可以解决问题。对于特别顽固的情况,其他解决方案包括禁用安装程序服务,然后重新启动。
但是,就本问题而言,假设此错误发生在服务器或其他一些停机时间不可接受的系统上。我们希望在不重新启动的情况下执行此操作。
很明显,在某处存储了一些数据,安装程序在抛出此错误消息之前正在检查这些数据。存在一些标志告诉安装程序服务正在进行另一个安装。
我感兴趣的是这些数据的存储位置。
究竟是什么通知安装程序服务另一个安装已经在进行中?
Bob*_*Bob 22
Windows Installer 运行时_MSIExecute在(卸载)安装的某些阶段获取具有该名称的全局互斥锁。一个互斥锁一次只能由一个线程拥有;对于全局互斥锁,这是整个系统上的一个线程。任何后续获得互斥锁所有权的尝试都将失败,直到当前所有者释放它。
互斥体是 Windows 内核中的瞬态对象。它在任何时候都不是磁盘上的文件。如果当前拥有的线程退出而没有明确释放它,则自动释放互斥锁。
这与某些程序用来防止程序的多个实例运行的机制相同。
要回答有关哪个进程持有该互斥锁的另一个隐含问题,您可以使用 Microsoft/Sysinternals 的Process Explorer或Handle 等工具来查找互斥锁。在 Process Explorer 中,它应该出现在句柄搜索 (Ctrl+F) 中。
找到流程后,您需要决定如何处理它。在最安全的选项通常是等待,但如果它在(联合国)安装步骤,不知为何有了卡,你可能别无选择,只能将其杀死。当然,杀死它可能会产生后果,例如留下一个半(未)安装的程序 - MSI 应该保证回滚,但是当执行它们的进程被杀死时,这些就很困难了!也很难判断它是否真的卡住了,因为有些步骤可能需要很长时间才能完成。
也可以看看:
| 归档时间: |
|
| 查看次数: |
1855 次 |
| 最近记录: |