Google chrome 无法在Windows上启动本机消息传递主机;“未设置COMSPEC”;
我有一个chrome扩展,它与本地消息主机通信以获取一些数据 问题是,当我通过快捷方式或任务栏中的固定快捷方式启动Chrome浏览器时,扩展无法连接到主机。我总是会出错: 无法启动本机消息传递主机 但是,如果我通过命令提示符启动Google chrome 无法在Windows上启动本机消息传递主机;“未设置COMSPEC”;,google-chrome,google-chrome-extension,chrome-native-messaging,Google Chrome,Google Chrome Extension,Chrome Native Messaging,我有一个chrome扩展,它与本地消息主机通信以获取一些数据 问题是,当我通过快捷方式或任务栏中的固定快捷方式启动Chrome浏览器时,扩展无法连接到主机。我总是会出错: 无法启动本机消息传递主机 但是,如果我通过命令提示符启动chrome.exe,一切正常 我尝试过但没有成功的事情: 任务栏快捷方式没有额外的标志。目标字段具有 以下值:“C:\ProgramFiles(x86)\Google\Chrome\Application\Chrome.exe” 我在HKEY\U LOCAL\U MA
chrome.exe
,一切正常
我尝试过但没有成功的事情:
- 任务栏快捷方式没有额外的标志。目标字段具有
以下值:
“C:\ProgramFiles(x86)\Google\Chrome\Application\Chrome.exe”
- 我在
HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Google\Chrome\NativeMessagingHosts\com.company.extension
- 我在
HKEY\U LOCAL\U MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.company.extension下尝试了注册表
- 我试着用下面的注册表项
HKEY\u CURRENT\u USER\Software\Google\Chrome\NativeMessagingHosts\com.company.extension
- 尝试从文件资源管理器以管理员身份启动
chrome.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
进程后,我发现通过explorer
生成的COMSPEC
环境变量不可用
还有什么我可以尝试的或者我在这里缺少的吗?如日志中所述,Chrome无意中启动了一个外部进程,因为,
COMSPEC
,一个,未设置:
[11036:4160:0302/113902.866:ERROR:native_process_launcher_win.cc(140)] COMSPEC is not set
从cmd
本身启动Chrome的行为不同,因为它为自身设置变量(ans派生的进程)
这可以通过检查镀铬工艺来确认
可以作为管理员运行rundll32 sysdm.cpl,EditEnvironmentVariables
(例如,从管理员命令行)以打开环境变量设置。或者,可以从控制面板>系统和安全性>系统>高级系统设置>高级>环境变量导航到该对话框
ComSpec
通常在系统变量中设置为
C:\WINDOWS\system32\cmd.exe
根据系统安装的需要进行调整。要应用此设置,您需要注销并重新登录,或者最好重新启动系统。此错误意味着至少要在主机上进行Chrome操作,以便您可以在中看到与
Process Create
相关的内容。您也应该这样做。可能的想法:快捷方式更改的是工作目录。@Xan是的,我在控制台中添加了日志标记,出现了一个错误。我已经用错误更新了问题。请参阅和,有关ComSpec,请参阅是否在系统变量中的rundll32 sysdm.cpl,EditEnvironmentVariables
(从管理员命令提示符下运行)设置了变量。如果不是,请将其设置并注销或重新启动以进行测试。如果有帮助的话,我会把它变成一个答案。