最近,Microsoft Teams 独立 Windows 客户端开始无法从快捷方式或直接从管理命令提示符加载。没有出现 UI,进程启动一秒钟然后退出。
据我所知,Teams 是一款基于 Electron Chromium 的应用程序,Chrome 命令行参数在一定程度上支持该功能: https://peter.sh/experiments/chromium-command-line-switches/
正在执行:
Teams.exe --enable-logging
返回:
[13780:0618/153200.398:ERROR:process_singleton_win.cc(300)] Lock file can not be created! Error code: 5
[4700:0618/153200.840:ERROR:broker_win.cc(57)] Error reading broker pipe: The pipe has been ended. (0x6D)
通过研究,我相信第二个错误是由第一个错误引起的。查看此处的 Electron src: https://chromium.googlesource.com/chromium/src/+/32352ad08ee673a4d43e8593ce988b224f6482d3/chrome/browser/process_singleton_win.cc
并且由于错误代码 5 似乎是权限问题,我认为 Teams 认为已经有另一个实例打开,因为它无法写入锁文件,因此它立即退出。
通过使用进程监视器来跟踪 Teams.exe 正在执行的操作,我发现了以下情况:
12:34:12.2986796 PM","Teams.exe","4708","CreateFile","C:\Users\gemof\AppData\Roaming\Microsoft\Teams\lockfile","ACCESS DENIED","Desired Access: Generic Write, Read Attributes, Delete, Disposition: OverwriteIf, Options: Synchronous IO Non-Alert, Non-Directory File, Delete On Close, Attributes: N, ShareMode: Read, AllocationSize: 0"
但是我仔细检查了该文件夹的权限,我的本地帐户是管理员,具有完全控制权。还尝试以管理员身份运行 Teams.exe,但没有成功。它尝试创建锁文件的文件夹仍然是空的。
PS:尝试卸载/重新安装 Teams,并删除与 Teams 相关的任何文件夹/注册表项。
有人知道如何进一步调试 Chromium/Electron Lockfile 问题吗?