我有一个chrome扩展与本地消息传递主机通信以获取一些数据。未能在Windows上启动本地消息传递主机,“未设置COMSPEC”
问题是,当我通过快捷方式或任务栏中固定的快捷方式启动Chrome浏览器时,扩展程序无法连接到主机。我总是得到错误:
Failed to start native messaging host.
但是,如果我通过命令提示符启动chrome.exe
,一切工作正常。
事情我没有成功尝试:
- 任务栏快捷方式已经没有多余的标志。目标字段具有 以下值:
"C:\Program Files(x86)\Google\Chrome\Application\chrome.exe"
- 我
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Google\Chrome\NativeMessagingHosts\com.company.extension
- 下与注册表试过我
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.company.extension
- 下与注册表试过我
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\com.company.extension
- 试图启动
crome.exe
作为下与注册表项尝试管理员从文件资源管理器。
更新:
我加入了标志--enable-logging --v=1
到快捷方式启用日志记录,当我启动它,我得到的控制台输出如下:
[11036:4160:0302/113902.866:ERROR:native_process_launcher_win.cc(140)] COMSPEC is not set
[11036:11856:0302/113902.882:ERROR:native_process_launcher_win.cc(140)] COMSPEC is not set
更新
通过Process Monitor调查chrome.exe
过程后,我发现nd在通过explorer
生成环境变量时,没有可用的环境变量COMSPEC
。
还有什么我可以尝试或我在这里失踪的东西?
此错误意味着至少Chrome [尝试启动](https://cs.chromium.org/chromium/src/chrome/browser/extensions/api/messaging/native_message_process_host.cc?l=114&rcl=c463181850479e23e89ebd766fbe1fa2990d9d51)因此您可能会在[procmon](https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx)中看到与“进程创建”相关的内容。 – wOxxOm
还应该[启用并检查Chrome日志](https://www.chromium.org/for-testers/enable-logging)。可能的想法:快捷方式改变的是工作目录。 – Xan
@Xan是的,我通过添加日志标记在控制台中出现错误。我更新了错误的问题。 –