雖然感覺這個需求有點不符合正常邏輯,但是我需要實現的是,一個自動更新的效果,從伺服器下載的ZIP,壓縮到另一個資料夾,然後打開新版本前,關掉舊版。
因為是基於NW.JS,不支援多視窗預覽,所以開始新的進程(Nw視窗)前,得先關閉舊的進程(nw視窗),由於NW 0.1.3 過後,不支援多視窗同時開啟了,所以。 。挺尷尬的。 。
但是我覺得肯定可以做到我這個需求的,畢竟有個NW-AUTOUPDATER也實現了,可是它與專案需求不符,不能使用,所以特向各位大神請教,謝謝!
某草草2017-05-16 13:47:05
好像跟我這個框架裡的實現差不多...
https://github.com/llwslc/ele...
先在後台下載zip套件, 點選升級呼叫如下程式碼
exec(`start update.exe ${pkgInfo.name} ${process.pid}`, {encoding: 'binary'});
app.exit(0);
將目前路徑路徑以及程式pid傳給update.exe, 然後程式退出...
update.exe 會監控該pid, 直到pid消失...
pid消失後update.exe將解壓縮zip套件...
解壓縮完成後, 重新啟動主程式並自行退出...
mac下直接unzip就行, 不需要另起程式...