-->

无法启动本地消息主机上的Windows,“COMSPEC不设置”(Failed to start n

2019-09-29 21:13发布

我有一个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
  • 试图启动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

更新

在调查chrome.exe通过进程监视器过程中,我发现,没有COMSPEC提供给它的环境变量,当它通过催生explorer

还有什么,我可以尝试什么的,我在这里失踪?

Answer 1:

作为日志中所提到的,铬绊倒启动外部过程中,由于COMSPEC ,一个环境变量指向通常以cmd ,是没有设置:

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

的行为是从启动Chrome不同cmd本身,因为它设置变量本身(ANS产生的进程)。

这可以通过用检查铬过程来确认进程浏览器 。

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

ComSpec通常在系统变量设置为

C:\WINDOWS\system32\cmd.exe

调整你的系统中安装必要的。 对于此设置应用,你需要注销并重新登录,或更好,但重新启动系统。



文章来源: Failed to start native messaging host on Windows, “COMSPEC is not set”