2015-06-12 35 views
0

我想運行我自己的可執行二進制文件(由C代碼生成)與其他常規文件一起捆綁在我的Firefox加載項中。因爲它需要爲此創建一個新的進程,所以我認爲我應該使用sdk/system/child_process或使用js-ctypes的本地OS API。FIrefox加載項和正在運行的可執行文件

我的問題是,不創建一個新的進程已經在附加發布過程中的任何負面影響?它違反任何Mozilla的規則嗎?

+1

非常棒的工作,請在分享你的工作時,特別是如果你去js-ctypes的方式。我自己做了很多啓動過程工作,這是我做的:http://stackoverflow.com/a/30468239/1828637我說我用js-ctypes的ShellExecuteEx等如果你想看到代碼我可以與你分享 – Noitidart

+0

還有這個涼爽的職位由@nmaier這是非JS-ctypes的:http://stackoverflow.com/questions/25138536/perfom-a-shellexecute-from-firefox-addon/25140717#25140717 – Noitidart

回答

3

創建一個新的進程對附加出版過程產生了嚴重影響,但它並不違反rules

通過在這樣的低級別方式與系統交互,你的附加組件將被標記爲行政複議這可能會導致甚至瑣碎的更新最多服用3個月獲得批准。它當然不會一直持續那麼長時間(如果你向他們解釋緩解的情況,審查人員通過評論修復關鍵或安全問題非常好),但對於典型的新版本,提交XPI之間可能需要幾個月文件進行審查,它實際上正在交付給用戶。

目前,您可以通過在AMO生態系統之外託管您的附加組件來避免這種延遲,但在add-on signing requirements發揮作用時,這將在未來1-2個月內發生變化。他們表示,對非託管附加組件的評論會更快,我希望情況會如此,但即便如此,如果您希望定期進行自動測試,則需要手動審覈可能會是一個嚴重問題併爲您的附加組件安裝部署流程。

如果Mozilla的製作爲了制止這些附加的開發者社區的損失在這方面在今年晚些時候進一步改變我也不會感到驚訝。特別是,即使不變的代碼也會觸發對每一次次更新的審查。

至於你如何去實現它,我之前沒有使用過SDK,所以你的建議可能是最好的,但是第三個選擇是考慮使用XPCOM nsIProcess接口。我不再在我的附加組件中使用ctypes,但我希望將其標記爲管理員審覈,與其他任何可行的啓動可執行文件的方法相同。

至於捆綁來講,不應該是一個問題,但你需要將源代碼提供給Mozilla的,使他們能夠保證它是安全的。

+0

非常感謝爲您的有用答案! – KaBa

相關問題