无法在 Windows 上启动本机消息传递主机,“COMSPEC 未设置”

2024-01-26

我有一个 Chrome 扩展,可以与本机消息传递主机通信以获取一些数据。

问题是,当我通过快捷方式或任务栏中固定的快捷方式启动 Chrome 浏览器时,扩展程序无法连接到主机。我总是收到错误:

无法启动本机消息传递主机。

但是,如果我启动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
  • 尝试启动chrome.exe从文件资源管理器以管理员身份。

Update:

我添加了标志--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

Update

经调查,chrome.exe通过进程监视器进行进程,我发现没有COMSPEC当它通过生成时可用的环境变量explorer.

还有什么我可以尝试的或者我在这里缺少的东西吗?


正如日志中提到的,Chrome 偶然启动了一个外部进程,因为COMSPEC, an 环境变量通常指向cmd https://technet.microsoft.com/en-us/library/cc976142.aspx,未设置:

[11036:4160:0302/113902.866:ERROR:native_process_launcher_win.cc(140)] COMSPEC is not set

从以下位置启动 Chrome 的行为有所不同cmd本身,因为它为自己设置变量(生成的进程)。

这可以通过检查 Chrome 进程来确认流程浏览器 https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx.

一个人可以跑rundll32 sysdm.cpl,EditEnvironmentVariables以管理员身份(例如从管理命令行)打开环境变量设置。
或者,可以从“控制面板”>“系统和安全”>“系统”>“高级系统设置”>“高级”>“环境变量...”导航到该对话框。

ComSpec通常在系统变量中设置为

C:\WINDOWS\system32\cmd.exe

根据系统安装的需要进行调整。要应用此设置,您需要注销并重新登录,或者最好重新启动系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Windows 上启动本机消息传递主机,“COMSPEC 未设置” 的相关文章

随机推荐