我有一个桌面应用程序,它试图将用户限制在每个会话一个实例(这样每个用户/远程桌面连接都可以运行一个副本)
我通过在事件名称上创建一个前缀为"Local\…"的EventWaitHandle来实现这一点,如果没有创建,我将退出程序。
来自验证器工具的警告如下:
报警
多用户会话测试
•警告:多用户会话测试检测到以下错误:◦执行测试过程时出错。
•影响(如果未修复):多个用户可能无法在并发会话中启动应用程序。
•修复方法:确保应用程序不会阻止本地或远程的多个并发会话。应用程序不能依赖全局互斥或其他命名对象来检查或阻止多个并发会话。如果应用程序不允许每个用户有多个并发会话,请为互斥对象或其他命名对象使用每个用户或每个会话的命名空间。有关详细信息,请参阅下面的链接:远程桌面服务编程指南http://msdn.microsoft.com/library/windows/desktop/aa383490(v=vs.85).aspx
你知道这个错误意味着什么,以及如何消除它吗?
我在登录多个帐户时测试了该程序,它正确地检测到该程序没有在新会话上运行,尽管它在以前的会话上运行。
有没有办法获得更详细的故障描述?
此链接表明Windows应用程序认证工具包(WACK)2.2中存在错误,并且已在Windows 8.1预览版的WACK 3.0中解决。我选择暂时忽略这个特别的警告。
运行Windows应用程序证书时为用户(选择用户或机器)设置