自动更新到电子

我正在寻找部署一个自动更新function,我有一个电子安装,但是我发现很难findnetworking上的任何资源。

我之前使用Adobe Air构build了一个自包含的应用程序,编写更新代码可以更轻松地编写有效地检查URL并自动下载并安装Windows和MAC OSX更新的代码。

我目前正在使用电子样板 ,以便于构build。

我有几个问题:

  • 如何debugging自动更新function? 我是否设置本地连接并通过使用本地节点服务器进行testing,还是可以使用任何Web服务器?
  • 在签署应用程序方面,我只想在MAC OSX上运行应用程序,特别是Windows。 我是否必须签署应用程序才能运行自动更新? (我设法用Adobe Air使用本地证书来做到这一点。
  • 有没有什么好的资源详细说明如何实现自动更新function? 由于我很难find一些关于如何做到这一点的好文件。

我也是Electron的新手,但我认为没有电子样板(我也使用)的简单自动更新。 Electron的自动更新程序使用Squirrel.Windows安装程序,您还需要实施到您的解决方案才能使用它。

我目前正在尝试使用这个:

更多信息可以在这里找到:

编辑:我刚刚打开该项目尝试一段时间,它看起来有效。 它非常简单。 这些是从我的gulp文件。

在目前的配置中,我使用电子打包器来创建一个包。

var packager = require('electron-packager') var createPackage = function () { var deferred = Q.defer(); packager({ //OPTIONS }, function done(err, appPath) { if (err) { gulpUtil.log(err); } deferred.resolve(); }); return deferred.promise; }; 

然后,我创建一个安装程序与电子安装松鼠窗口。

 var squirrelBuilder = require('electron-installer-squirrel-windows'); var createInstaller = function () { var deferred = Q.defer(); squirrelBuilder({ // OPTIONS }, function (err) { if (err) gulpUtil.log(err); deferred.resolve(); }); return deferred.promise; } 

你还需要为松鼠添加一些代码给你的电子背景/主代码。 我使用了模板电子松鼠启动。

 if(require('electron-squirrel-startup')) return; 

整个事情在上面提到的electron-installer-squirrel-windows npm文档中有描述。 看起来像文档的一点足以让它开始。 现在我正在通过Squirrel进行电子品牌推广,并为自动化创建合适的饮料脚本。

你也可以在OS X上使用标准Electron的autoUpdater模块,在Windows上使用它的简单端口: https : //www.npmjs.com/package/electron-windows-updater

我遵循这个教程,并得到它与我的电子应用程序,虽然它需要签署工作,所以你需要:

  certificateFile: './path/to/cert.pfx' 

在任务配置中。

和:

 "build": { "win": { "certificateFile": "./path/to/cert.pfx", "certificatePassword": "password" } }, 

在package.json中