如何为我的电子应用程序制作一个简单的自动更新程序

时间:2017-03-10 20:48:49

标签: windows-installer electron auto-update

在网上搜索如何为我的电子应用程序制作安装程序和更新程序后,我发现安装程序和更新部分并不容易,我需要额外的帮助,因为这个问题带来了更多的挑战。

我有一个像这样的简单文件夹结构:

 - package.json
 - index.html
 - main.css
 - main.js

的package.json

{
  "name": "myappname",
  "version": "1.0.0",
  "description": "my app description",
  "main": "main.js",
  "scripts": {
    "start": "electron main.js",
    "package-win": "electron-packager . --overwrite --asar=true --platform=win32 --arch=ia32 --icon=recurces/icons/win/001-pie-chart.ico --prune=false --out=release-builds --version-string.CompanyName=myCompany.inc --version-string.FileDescription=test --version-string.ProductName=test_5"
  },

  "author": "myName",
  "license": "BSD-3-Clause",
  "devDependencies": {
    "electron": "^1.6.2",
    "electron-packager": "^8.5.2"
  }
}

到目前为止我做了什么:

  • 我安装了电子模块。
  • 我用电子打包器打包我的应用程序。
  • 现在我想制作安装程序。

我尝试过winstaller,但文档并不那么容易理解。

然后我尝试给安装.Forge的机会。

内部installForge是一个进行更新的选项,这很好我现在面临的问题是我不在GitHub上托管我的应用程序或任何其他托管服务提供商我希望我的代码在我的电脑和express.js我必须做一个文件服务器

服务器无法按预期工作

代码

var express = require('express');
var path = require('path');
var app = express();

// Define the port to run on
app.set('port', 3000);

app.use(express.static(path.join(__dirname, 'public')));

// Listen for requests
var server = app.listen(app.get('port'), function() {
  var port = server.address().port;
  console.log('Magic happens on port ' + port);
});

在这个带有express.js的项目中,我有一个文件夹名称dist / win

在dist / win中,我还有一个包含1.0.2版本的软件包如何从该本地服务器获取文件并更新我的电子应用程序源。

如何使用简单的自动更新机制制作简单的安装程序?

1 个答案:

答案 0 :(得分:0)

之前,我研究过使用 Electron Packager 并为其添加自动更新。 期待吧,这对我来说并不容易。

所以我改用 Electron Builder,这使得推送更新更容易。

试试这个:https://github.com/eveningkid/electron-updater-example

这里使用 Electron Builder,它将使用 NSIS 而不是 InstallForge