我有一個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是的,我通過添加日誌標記在控制檯中出現錯誤。我更新了錯誤的問題。 –