node-webkit软件升级机制,若是是js,html,css等不会被运行中的程序锁的文件能够直接下载替换,重启一下就行了,若是有资源占用,不能替换的话,要采起下列方式。css
/* 升级逻辑html
1. 检查升级node
2. 下载到临时目录.web
3. 解压到临时文件夹.ui
4. 运行临时文件夹的程序,关掉主文件夹的程序.spa
5. 临时文件夹的程序考备本身到主文件夹.code
6. 临时文件夹的程序退出,运行考完后的主文件夹的程序.htm
*/资源
代码不举例了,说一下关键点:get
运行别的程序,关掉本身能够用两种方式实现:
运行别的程序能够用:
require('child_process').spawn(exepath,args,opts)
也能够用:
gui.Shell.openItem(exepath+args);
关闭本身能够用:
gui.App.quit();
也能够用:
gui.Window.get().close();
另外一个:如何在临时文件夹中运行区别与主文件运行能够经过传入的参数来判断:
如:
if(gui.App.argv.length){ var mainExecPath = gui.App.argv[0];//主程序目录 var mainExecExePath = gui.App.argv[1];//主程序运行程序地址 if(mainExecPath &&mainExecExePath){ //执行考备本身到主程序目录,再运行主程序 return; } } }