标签: electron-updater

电子中未生成应用程序更新 yml 文件的问题?

我在电子应用程序的自动更新方面遇到问题,在完成所有应用程序部分并尝试将其推送到我的自定义更新服务器后,我在记录器中发现了此错误消息:

Error unknown ENOENT: no such file or directory, open 
'C:\{appPath}\{appName}\resources\app-update.yml'
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json 构建配置

"build": {
    "appId": "com.server.app",
    "copyright": "Copyright company name",
    "generateUpdatesFilesForAllChannels": true,
    "win": {
      "target": "nsis",
      "icon": "build/icon.ico"
    },
    "mac": {
      "target": "dmg",
      "artifactName": "appName.dmg",
      "icon": "build/icon.icns"
    },
    "dmg": {
      "background": "build/i-bg.tif",
      "icon": "build/setup.icns",
      "iconSize": 80,
      "title": "${productName}-${version}",
      "window": {
        "width": 540,
        "height": 380
      }
    },
    "nsis": {
      "artifactName": "${productName}-Setup-${version}.${ext}",
      "oneClick": false,
      "perMachine": false,
      "allowToChangeInstallationDirectory": true,
      "installerIcon": "build/setup.ico",
      "uninstallerIcon": "build/setup.ico",
      "installerHeader": "build/installerHeader.bmp",
      "installerSidebar": "build/installerSidebar.bmp",
      "runAfterFinish": true,
      "deleteAppDataOnUninstall": true, …
Run Code Online (Sandbox Code Playgroud)

node.js electron electron-builder electron-updater

7
推荐指数
1
解决办法
4866
查看次数

带有私有 GitHub 存储库的电子自动更新器?

我已经使用 PRIVATE GitHub Repository 作为发布电子应用程序的提供者实现了 Electron AutoUpdater。现在,我可以使用 GitHub 存储库发布它,但是每当 AutoUpdater 尝试从 GitHub 存储库下载更新时,每次都会提示响应代码 404 Not found..也不起作用。

autoUpdater.setFeedURL({ provider: 'github'
, owner: 'owner'
, repo: 'repo-name'
, token: 'token'
, private: true });
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法让它与 PRIVATE GitHub Repository 一起工作?

electron electron-builder electron-updater

5
推荐指数
2
解决办法
7855
查看次数

在 Windows 上安装更新时 Electron 自动更新失败

我有一个电子应用程序,用于electron-builder构建、打包和发布应用程序。

我有以下自动更新代码:

autoUpdater.logger = log;
autoUpdater.logger.transports.file.level = "info";
autoUpdater.autoDownload = true;

const updateCheck = () => {
  autoUpdater.checkForUpdates().then(resp => {
    log.info("autoUpdate response:");
    log.info(resp);
  });
};

app.on("ready", async () => {
  log.info(`Version: ${app.getVersion()}`);

  autoUpdater.on("update-downloaded", () => {
    log.info("update downloaded");
    setImmediate(() => {
      try {
        log.info("installing update");
        // app.relaunch();
        autoUpdater.quitAndInstall();
      } catch (err) {
        log.error("Error installing update");
        log.error(err);
      }
    });
  });

  autoUpdater.on("error", err => {
    log.error("AutoUpdater error");
    log.error(err);
  });

  updateCheck();

  schedule.scheduleJob("*/10 * * * *", updateCheck);
});
Run Code Online (Sandbox Code Playgroud)

当我发布新版本时,自动更新程序会检测到它,成功下载它,然后尝试安装它。

在安装更新期间,进度条填满一半,然后消失。

应用程序保持关闭状态,并且在进度条消失后不会自动重新启动。 …

nsis electron electron-builder electron-updater

5
推荐指数
1
解决办法
3475
查看次数

如何使用 Electron Builder 在 ubuntu 中构建适用于 Windows 的电子应用程序

我创建了一个电子应用程序。使用电子构建器我在linux中创建了appImage。我想在linux中为windows构建应用程序。但它抛出了wine required错误。请帮助解决这个问题。这是package.json

  "name": "Gamer",
  "version": "1.0.0", 
  "main": "main.js",
  "repository": "https://github.com/XYX/GAME",
  "dependencies": {
    "@agm/core": "^1.0.0-beta.5",
  ...
    "electron-builder-squirrel-windows": "^22.1.0",
    "electron-packager": "^14.1.0",
    "electron-reload": "^1.5.0",
    "electron-store": "^5.1.0",
 },
  "devDependencies": {
   ...
    "electron": "^7.1.1",
    "electron-builder": "^22.1.0",
    "electron-prebuilt": "^1.4.13",
    "electron-updater": "^4.2.0",
  ...
  },
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "start:electron": "ng build --base-href ./ && electron .",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "electron": "electron .",
    "electron-build": "ng build --prod && electron .",
    "pack": "electron-builder --dir",
    "dist": "electron-builder",
    "build:Win": …
Run Code Online (Sandbox Code Playgroud)

electron electron-builder electron-updater

5
推荐指数
1
解决办法
9576
查看次数

电子更新程序通知新版本,但不在 Windows 中更新或下载新版本

Electron updater 4.2.0 软件包无法下载新版本,但可以检测到它

这是 github 上的私人存储库

新版本已成功发送到github

发布github

在package.json中:

"build": {
"appId": "com.myApp.ID",
"npmRebuild": false,
"win": {
  "icon": "./resources/electron/icons/256x256.png",
  "publish": [
    {
      "provider": "github",
      "owner": "me",
      "repo": "POS",
      "private": true,
      "releaseType": "release",
      "token": "<private token>"
    }
  ],
  "target": [
    {
      "target": "nsis",
      "arch": [
        "x64"
      ]
    }
  ]
}
},
Run Code Online (Sandbox Code Playgroud)

我的 electro.js 文件或 main.js 我有:

  win.webContents.on('did-finish-load', () => {
    if(!serve) {
      appUpdater(win);
    }
  });
Run Code Online (Sandbox Code Playgroud)

appUpdater函数是:

function appUpdater(win) {
  autoUpdater.autoInstallOnAppQuit = true;
  autoUpdater.autoDownload = true;
  autoUpdater.logger = logger;
  /* …
Run Code Online (Sandbox Code Playgroud)

nsis electron electron-updater

5
推荐指数
1
解决办法
5170
查看次数

自动更新不起作用:MAC os Target .pkg

以前我们使用.dmg目标并发布在S3 存储桶上,因此在 S3 和电子应用程序上它会自动创建latest-mac.ymlapp-update.yml文件,并为下一个版本的应用程序自动更新。

但现在我们使用目标作为.pkg。自动更新程序现已停止。latest-mac.ymlapp-update.yml不是为.pkg目标创建的。但构建已成功上传到 s3。

包.json

"package-ci": "yarn postinstall && yarn build && electron-builder --publish always",
.....
"mac": {
      "entitlements": "build/entitlements.mac.inherit.plist",
      "entitlementsInherit": "build/entitlements.mac.inherit.plist",
      "icon": "./resources/icon.png",
      "target": [
        "pkg"
      ]
    },
    ........
     "publish": {
      "provider": "s3",
      "bucket": "build",
    }
Run Code Online (Sandbox Code Playgroud)

electron electron-builder electron-updater

5
推荐指数
1
解决办法
519
查看次数