0

我開發了一個Google擴展,爲其創建了Windows安裝程序包。該安裝程序按照https://developer.chrome.com/extensions/external_extensions#registry某些自定義擴展未在某些計算機的擴展頁面中列出

中所述的方式寫入相應的註冊表項。所有這些在一些計算機中運行良好。因此,在我運行安裝程序包並運行Google Chrome之後,出現一個小彈出窗口,告訴我啓用該擴展程序。我對該問題回答「是」,從那時起,延期按預期工作。

但是,在一些使用相同版本的Chrome(53.0.2785.116 m)的計算機上,安裝程序會將相應的條目寫入註冊表,但是當我運行Chrome時,什麼都沒有發生,並且該擴展未列在chrome中: //擴展/頁面。

在這種情況下,我可以連接到網上商店手動安裝擴展。但是,此擴展啓動應用程序,因爲它實現了本地消息傳遞。當我手動安裝擴展程序時,它可以工作(本地消息傳遞主機應用程序已啓動並正常工作),但是當我關閉並重新打開Chrome時,主機應用程序不會運行。要運行它,我需要手動禁用,然後重新啓用該擴展。

很奇怪發生了什麼事。你能幫助我嗎?

回答

0

根據此thread(與您的問題有些相關),在關閉Chrome時,它將觸發onDisconnect事件,這就是應用程序未運行的原因。

本地消息傳遞意味着只有Chrome可以在「連接」時啓動主機實例。這是一個用詞不當,因爲connect()的意思是「發佈一個新的副本,並與它交談」。

沒有辦法「附加」到已經運行的進程。如果關閉主機,stdio管道被破壞Port對象觸發onDisconnect事件。然後,您需要從分機重新啓動主機才能與其通話。

您可以檢查此link。只要確保您的計算機上沒有防病毒程序或防火牆程序導致此問題。如果您可以在防火牆關閉時打開Goog​​le Chrome,則可能需要在防病毒或防火牆設置中使用create an exception

0

但是,在一些使用相同版本的Chrome(53.0.2785.116 m)的計算機上,安裝程序將相應的條目寫入註冊表,但是當我運行Chrome時,沒有任何反應,並且擴展未列在chrome:// extensions/page。

如果該擴展程序已安裝,然後卸載,則可能遇到blacklisting

如果用戶卸載擴展程序該怎麼辦?

如果用戶通過UI卸載擴展程序,則不會再在每次啓動時安裝或更新 。換句話說,外部 擴展名被列入黑名單。

我該如何擺脫黑名單?

如果用戶卸載您的擴展程序,您應該遵守 的決定。但是,如果您(開發人員)通過用戶界面意外卸載了 您的擴展程序,則可以通過 刪除黑名單標記,然後通過UI正常安裝擴展程序,然後再卸載 。

相關問題