Closed jackple closed 6 years ago
@megahertz I have uploaded three file like:
@megahertz I get the error "Can not find Squirrel", but I do not find some ways to fix it. Can you help?
@megahertz I saw this issue, but I do not know how to fix it
Check your build config, for example https://github.com/megahertz/electron-simple-updater/blob/master/example/package.json
@megahertz "updater": { "url": "http://xxxxxx/-worker-management/raw/master/updates.json?private_token=xxxxx" }, "build": { "productName": "伊云仓TEM", "appId": "com.worker-management", "directories": { "output": "package" }, "files": [ "dist/production/", "node_modules/", "package.json", "index.js", "index.html" ], "dmg": { "contents": [ { "x": 410, "y": 150, "type": "link", "path": "/Applications" }, { "x": 130, "y": 150, "type": "file" } ] }, "mac": { "icon": "src/assets/icons/icon.icns", "category": "public.app-category.utilities", "target": [ "dmg" ] }, "win": { "icon": "src/assets/icons/icon.ico", "target": [ "nsis", "squirrel" ] }, "squirrelWindows": { "iconUrl": "https://xxxx/uploads/icon.ico" } }
I can not see what is the problem with my config
@megahertz the error like that:
First of all, disable nsis and rebuild the application for both 1.0.4 and 1.0.5
@megahertz thank you so much! I added the "nsis" option because I though that user must install the app(producted by nsis) at the first time, but it is not.
@megahertz It was successfully when I installed 1.0.0 and I updated to 1.0.1, but I got error when I tried to update to 1.0.2.
Error: Command failed: 4294967295
System.AggregateException: ����һ���������� ---> System.Exception: Checksummed file size doesn't match: C:\Users\ERP\AppData\Local\worker-management\packages\worker-management-1.0.12-full.nupkg
�� Squirrel.UpdateManager.DownloadReleasesImpl.checksumPackage(ReleaseEntry downloadedRelease)
�� Squirrel.UpdateManager.DownloadReleasesImpl.<>cDisplayClass2_0.<
at AutoUpdater.emitError (C:\Users\ERP\AppData\Local\worker-management\app-1.0.11\resources\electron.asar\browser\api\auto-updater\auto-updater-win.js:58:24)
at squirrelUpdate.update (C:\Users\ERP\AppData\Local\worker-management\app-1.0.11\resources\electron.asar\browser\api\auto-updater\auto-updater-win.js:43:23)
at ChildProcess.<anonymous> (C:\Users\ERP\AppData\Local\worker-management\app-1.0.11\resources\electron.asar\browser\api\auto-updater\squirrel-update-win.js:71:14)
at emitTwo (events.js:125:13)
at ChildProcess.emit (events.js:213:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
It seems that your build is corrupted.
i using windows target as portable.... cannot find squirrel?? does it work with portable??? it tried "squirrel" but i faced the issue below... TypeError: packager.info.callArtifactBuildStarted is not a function
@Crazie-ash No it doesn't works with portable build. https://github.com/electron-userland/electron-builder/issues/3508
it doesn't work with squirrel and zip target - while building TypeError: packager.info.callArtifactBuildStarted is not a function then i tried with nsis target - it throwed this Error: Can not find Squirrel... i don't know what i am missing!!!
{ "keywords": [ "angular", "angular 7", "electron", "typescript", "sass" ], "main": "main.js", "private": true, "files": [ "!README.md", "!updates.json" ], "scripts": { "postinstall": "npm run postinstall:electron && electron-builder install-app-deps", "postinstall:web": "node postinstall-web", "postinstall:electron": "node postinstall", "ng": "ng", "start": "npm run postinstall:electron && npm-run-all -p ng:serve electron:serve", "build": "npm run postinstall:electron && npm run electron:serve-tsc && ng build", "build:dev": "npm run build -- -c dev", "build:prod": "npm run build -- -c production", "ng:serve": "ng serve", "ng:serve:web": "npm run postinstall:web && ng serve -o", "electron:serve-tsc": "tsc -p tsconfig-serve.json", "electron:serve": "wait-on http-get://localhost:4200/ && npm run electron:serve-tsc && electron . --serve", "electron:local": "npm run build:prod && electron .", "electron:linux": "npm run build:prod && electron-builder build --linux --ia32 --x64 --armv7l", "electron:windows": "npm run build:prod && electron-builder build --windows", "electron:mac": "npm run build:prod && electron-builder build --mac", "test": "npm run postinstall:web && ng test", "e2e": "npm run postinstall:web && ng e2e", "version": "conventional-changelog -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md" }, "dependencies": { "@angular/animations": "^7.2.4", "@angular/cdk": "^7.3.0", "@angular/core": "^7.1.4", "@angular/material": "^7.3.0", "@angular/router": "^7.1.4", "auto-launch": "^5.0.5", "delay": "^4.2.0", "desktop-idle": "^1.1.2", "electron-builder-squirrel-windows": "^20.40.0", "electron-log": "^3.0.5", "electron-notifications": "^1.0.0", "electron-positioner": "^4.1.0", "electron-process-manager": "^0.7.0", "electron-simple-updater": "^1.5.0", "electron-store": "^3.1.0", "electron-updater": "^4.0.6", "is-online": "^8.1.0", "ngx-toastr": "^9.1.2", "parse": "1.11.1", "run-electron": "^0.1.0" }, "devDependencies": { "@angular-devkit/build-angular": "0.11.4", "@angular/cli": "7.1.4", "@angular/common": "7.1.4", "@angular/compiler": "7.1.4", "@angular/compiler-cli": "7.1.4", "@angular/core": "7.1.4", "@angular/forms": "7.1.4", "@angular/http": "7.1.4", "@angular/language-service": "7.1.4", "@angular/platform-browser": "7.1.4", "@angular/platform-browser-dynamic": "7.1.4", "@angular/router": "7.1.4", "@ngx-translate/core": "11.0.1", "@ngx-translate/http-loader": "4.0.0", "@types/jasmine": "2.8.7", "@types/jasminewd2": "2.0.3", "@types/node": "8.9.4", "codelyzer": "4.5.0", "conventional-changelog-cli": "2.0.11", "core-js": "2.6.1", "electron": "^4.0.8", "electron-builder": "20.36.2", "electron-reload": "1.3.0", "electron-simple-publisher": "^0.6.2", "jasmine-core": "3.3.0", "jasmine-spec-reporter": "4.2.1", "karma": "3.1.1", "karma-chrome-launcher": "2.2.0", "karma-coverage-istanbul-reporter": "2.0.4", "karma-jasmine": "2.0.1", "karma-jasmine-html-reporter": "1.4.0", "npm-run-all": "4.1.5", "primeicons": "^1.0.0", "primeng": "^6.1.7", "protractor": "5.4.1", "rxjs": "6.3.3", "ts-node": "7.0.1", "tslint": "5.11.0", "typescript": "3.1.6", "wait-on": "3.2.0", "webdriver-manager": "12.1.0", "zone.js": "0.8.26" } }
@Crazie-ash I think electron-builder and electron-builder-squirrel-windows should have the same version. Anyway, I can't help you too much with the build problem.
As u said i tried using the same version. it worked well but i am still facing this Error: Can not find Squirrel
update path folder "/bbUpdate/windows/exe/" contains the following
app-1.0.1-win.zip appSetup1.0.1.exe appSetup1.0.1.nupkg builder-effective-config.yaml RELEASES
@Crazie-ash You can see such a message only when you run non squirrel build.
I publish an app with version 1.0.4 in package.json, when I use electron-simple-updater, I make the updates.json like: { "win32-x64-prod": { "readme": "日常更新", "update": "https://xxxx/worker-management/1520414279", "install": "https://xxxx/worker-management/1520414279/%E4%BC%8A%E4%BA%91%E4%BB%93TEM%20Setup%201.0.5.exe", "version": "1.0.5" } }
I run this script to pack:
"pack:win": "electron-builder --win --ia32"
my update url is"updater": { "url": "http://xxxx/worker-management/raw/master/updates.json?private_token=xxxx" }
in main.js
updater.init({ checkUpdateOnStart: false, autoDownload: false })
in render.js:
import { remote } from 'electron' export default function update() { const updater = remote.require('electron-simple-updater') updater.on('update-available', meta => { console.log('[updater] update avaiable', meta.version) updater.downloadUpdate() }) updater.on('update-not-available', () => { console.log('there is no available update') }) updater.on('update-downloading', () => {}) updater.on('update-downloaded', () => { if (window.confirm('Restart and install updates?')) { updater.quitAndInstall() } }) updater.on('error', err => { console.warn(err) }) updater.checkForUpdates() }
I always got 'there is no available update'. What is wrong with my case?