检查 C# 中正在运行的安装
有没有办法确定 C# 中是否存在正在运行的活动安装?例如,有时如果您同时启动 2 个 MSI(或 setup.exe),其中一个会说安装已经在进行中。有没有办法在 C# 中做到这一点?例如,自重置注册表项(系统重置)或互斥锁?
Is there a way to determine if there is an active installation running in C#? For example, some times if you launch 2 MSIs (or setup.exes) at once one of them will say that there is already installation going on in progress. Is there a way to do that in C#? Say, a self-resetting registry key (that system resets) or a mutex?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
互斥体是可行的方法。
如果 isFirst 为 false,则有另一个进程正在运行。至于名称,如果您希望跨多个会话(终端会话)进行检查,则将代码更改为类似的名称。
A mutex is the way to go.
If isFirst is false then there is another process running. As for the name if you want this to check across multiple sessions (terminal sessions) then change the code to something like.