node-webkit软件升级机制

node-webkit软件升级机制,如果是js,html,css等不会被运行中的程序锁的文件可以直接下载替换,重启一下就好了,如果有资源占用,不能替换的话,要采取下列方式。

/* 升级逻辑

 1. 检查升级

 2. 下载到临时目录.

 3. 解压到临时文件夹.

 4. 运行临时文件夹的程序,关掉主文件夹的程序.

 5. 临时文件夹的程序考备自己到主文件夹.

 6. 临时文件夹的程序退出,运行考完后的主文件夹的程序.

*/

代码不举例了,说一下关键点:

运行别的程序,关掉自己可以用两种方式实现:

运行别的程序可以用:

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;
          }        
       }
    }


你可能感兴趣的:(node-webkit软件升级机制)