electron-builder: Small Critical Error: Cannot download differentially, fallback to full download: Error: Maximum allowed size is 5 MB

  • Version: 20.38.5
  • Target: Windows

Error: Cannot download differentially, fallback to full download: Error: Maximum allowed size is 5 MB.

This Error is only thrown for a private Github repository. If I set it to public again this error is not thrown. Probably a small bug somewhere… I cannot figure out whats wrong 😞


Checking for update
Found version 1.0.6 (url: dallasspur-setup-1.0.6.exe)
Downloading update from dallasspur-setup-1.0.6.exe
updater cache dir: C:\Users\harry\AppData\Local\dallasspur-updater
No cached update info available
**Download block maps (old: "https://api.github.com/repos/harryhahn/DallasTrack/releases/assets/10233924.blockmap", new: https://api.github.com/repos/harryhahn/DallasTrack/releases/assets/10233924.blockmap)
c
at Object.responseHandler (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\node_modules\builder-util-runtime\src\httpExecutor.ts:207:26)
at ClientRequest.request.createRequest.response (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\node_modules\builder-util-runtime\src\httpExecutor.ts:267:17)
at ClientRequest.emit (events.js:182:13)
at URLRequest.ClientRequest.urlRequest.on (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\electron.asar\browser\api\net.js:207:12)
at URLRequest.emit (events.js:182:13)
From previous event:
at ElectronHttpExecutor.downloadToBuffer (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\node_modules\builder-util-runtime\src\httpExecutor.ts:178:60)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:145:46
at Generator.next ()
From previous event:
at downloadBlockMap (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:144:29)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:166:85
at Generator.next ()
From previous event:
at NsisUpdater.differentialDownloadInstaller (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:134:173)
at Object. (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:34:42)
at Generator.next ()
From previous event:
at Object.task (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:31:11)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:609:25
From previous event:
at NsisUpdater.executeDownload (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:544:68)
at NsisUpdater.executeDownload (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:27:18)
at NsisUpdater.doDownloadUpdate (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:27:17)
at NsisUpdater.downloadUpdate (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:419:19)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:382:49
at Generator.next ()
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at NsisUpdater.doCheckForUpdates (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:359:34)
at NsisUpdater.checkForUpdates (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:220:35)
at App. (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\main.js:88:15)
at App.emit (events.js:187:15)
Error: Error: Cannot download "https://api.github.com/repos/harryhahn/DallasTrack/releases/assets/10233924", status 404: Not Found
at ClientRequest.request.createRequest.response (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\node_modules\builder-util-runtime\src\httpExecutor.ts:247:26)
at ClientRequest.emit (events.js:182:13)
at URLRequest.ClientRequest.urlRequest.on (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\electron.asar\browser\api\net.js:207:12)
at URLRequest.emit (events.js:182:13)
From previous event:
at ElectronHttpExecutor.download (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\electronHttpExecutor.ts:23:73)
at Object. (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:35:35)
From previous event:
at Object.task (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:31:11)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:609:25
From previous event:
at NsisUpdater.executeDownload (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:544:68)
at NsisUpdater.executeDownload (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:27:18)
at NsisUpdater.doDownloadUpdate (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:27:17)
at NsisUpdater.downloadUpdate (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:419:19)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:382:49
at Generator.next ()
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at NsisUpdater.doCheckForUpdates (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:359:34)
at NsisUpdater.checkForUpdates (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:220:35)
at App. (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\main.js:88:15)
at App.emit (events.js:187:15)
Unhandled rejection Error: Cannot download "https://api.github.com/repos/harryhahn/DallasTrack/releases/assets/10233924", status 404: Not Found
at ClientRequest.request.createRequest.response (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\node_modules\builder-util-runtime\src\httpExecutor.ts:247:26)
at ClientRequest.emit (events.js:182:13)
at URLRequest.ClientRequest.urlRequest.on (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\electron.asar\browser\api\net.js:207:12)
at URLRequest.emit (events.js:182:13)
From previous event:
at ElectronHttpExecutor.download (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\electronHttpExecutor.ts:23:73)
at Object. (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:35:35)
From previous event:
at Object.task (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:31:11)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:609:25
From previous event:
at NsisUpdater.executeDownload (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:544:68)
at NsisUpdater.executeDownload (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:27:18)
at NsisUpdater.doDownloadUpdate (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:27:17)
at NsisUpdater.downloadUpdate (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:419:19)
at C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:382:49
at Generator.next ()
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at NsisUpdater.doCheckForUpdates (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:359:34)
at NsisUpdater.checkForUpdates (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:220:35)
at App. (C:\Users\harry\AppData\Local\Programs\dallasspur\resources\app.asar\main.js:88:15)
at App.emit (events.js:187:15)

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 2
  • Comments: 17 (2 by maintainers)

Most upvoted comments

@orgertot @BungeeDesign

I just got it to work by reverting electron-builder to version 20.38.0 and electron-updater to version 4.0.4. I’m not sure which was causing the problem.

I have reverted everything in my environment back as suggested above and I’m still getting this problem. I am using a private GitHub repo with GH_TOKEN set. Windows is the target. Both my current installation and my new update are built with the same configuration as below:

UPDATE: Despite the error ridden traceback below, it does appear to do the download. However, there seems to be some failure running the update – the end result are zombie icons and the app itself appears to be uninstalled. I presume the update is done silently when you close the app??? I’ve never seen the auto-update work before.

electron: 5.0.0 electron-builder: 20.38.0 electron-updater: 4.0.4

"nsis": {
  "installerIcon": "images/LegisPro.ico",
  "installerHeaderIcon": "images/LegisPro.ico",
  "createDesktopShortcut": true,
  "license": "LICENSE.txt",
  "oneClick": false,
  "allowElevation": true,
  "allowToChangeInstallationDirectory": true,
  "differentialPackage": true,
  "include": "build/installer.nsh",
  "publish": {
    "provider": "github",
    "repo": "LegisPro-Sunrise",
    "owner": "Xcential-Corporation",
    "vPrefixedTagName": true,
    "private": true,
    "releaseType": "draft"
  }
}

My code is:

autoUpdater.setFeedURL({ provider: “github”, owner: “Xcential-Corporation”, repo: “LegisPro-Sunrise”, token: process.env.GH_TOKEN }); autoUpdater.allowPrerelease = false; // Letting default errors on old releases without latest.yml files autoUpdater.checkForUpdatesAndNotify();

Logger output:

[2019-05-05 19:33:56.521] [info] # Checking for update [2019-05-05 19:33:59.059] [info] # Found version 3.1.10-beta.10p (url: legispro-setup-3.1.10-beta.10p.exe) [2019-05-05 19:33:59.068] [info] # Downloading update from legispro-setup-3.1.10-beta.10p.exe [2019-05-05 19:33:59.279] [info] # No cached update info available [2019-05-05 19:33:59.291] [info] # Download block maps (old: “https://api.github.com/repos/Xcential-Corporation/LegisPro-Sunrise/releases/assets/12401099.blockmap”, new: https://api.github.com/repos/Xcential-Corporation/LegisPro-Sunrise/releases/assets/12401099.blockmap) [2019-05-05 19:33:59.528] [error] # Error: Cannot download differentially, fallback to full download: Error: Cannot download “https://api.github.com/repos/Xcential-Corporation/LegisPro-Sunrise/releases/assets/12401099.blockmap”, status 404: Not Found at ClientRequest.<anonymous> (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\node_modules\builder-util-runtime\src\httpExecutor.ts:247:26) at ClientRequest.emit (events.js:194:13) at URLRequest.<anonymous> (C:\Program Files\LegisPro\resources\electron.asar\browser\api\net.js:207:12) at URLRequest.emit (events.js:194:13) From previous event: at ElectronHttpExecutor.downloadToBuffer (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\node_modules\builder-util-runtime\src\httpExecutor.ts:178:60) at C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:146:46 at Generator.next (<anonymous>) From previous event: at downloadBlockMap (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:145:29) at C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:163:51 at Generator.next (<anonymous>) From previous event: at NsisUpdater.differentialDownloadInstaller (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:135:210) at Object.<anonymous> (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:35:42) at Generator.next (<anonymous>) From previous event: at Object.task (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:32:11) at C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:610:25 From previous event: at NsisUpdater.executeDownload (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:545:68) at NsisUpdater.executeDownload (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:27:18) at NsisUpdater.doDownloadUpdate (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:28:17) at NsisUpdater.downloadUpdate (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:420:19) at C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:383:49 at Generator.next (<anonymous>) at processImmediate (internal/timers.js:443:21) From previous event: at NsisUpdater.doCheckForUpdates (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:360:34) at NsisUpdater.checkForUpdates (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:220:35) at NsisUpdater.checkForUpdatesAndNotify (C:\Program Files\LegisPro\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:249:41) at App.<anonymous> (C:\Program Files\LegisPro\resources\app.asar\Workspace\scripts\Main.js:79:15) at App.emit (events.js:199:15)

TL;DR; Solved by adding the MIME type to IIS server.

- Electron v 27.0.0 [Stable on 2023-08-10], [EOL on 2024-04-16], https://www.electronjs.org/docs/latest/tutorial/electron-timelines
- Electron-Builder v 24.9.1
- Electron-Updater v 6.1.7 [latest as of 2023-Dec]

In my local development environment I set-up an IIS site to serve the published files, the app detects changes and attempts to download it, eventually it does it but fallbacks to a full download

[2023-12-14 08:32:22.187] [error] Cannot download differentially, fallback to full download: Error: Cannot download "http://localhost/app/XXXXX.exe.blockmap", status 404: Not Found
    at ClientRequest.<anonymous> (C:\Program Files\XXXXX\XXXXX\resources\app.asar\node_modules\builder-util-runtime\out\httpExecutor.js:204:34)
    at ClientRequest.emit (node:events:514:28)
    at SimpleURLLoaderWrapper.<anonymous> (node:electron/js2c/browser_init:2:49818)
    at SimpleURLLoaderWrapper.emit (node:events:514:28)

I added a MIME Type to the server and now it downloads it correctly in blocks

[2023-12-14 08:48:47.385] [info]  Download block maps (old: "http://localhost/app/XXXXX.exe.blockmap", new: http://localhost/app/XXXXX.exe.blockmap)
[2023-12-14 08:48:47.417] [info]  File has 1264 changed blocks
[2023-12-14 08:48:47.432] [info]  Full: 98,171.59 KB, To download: 25,779.55 KB (26%)

image

I believe it is fixed by increasing the maximum size allowed to 50MB. But my file is 150MB so this is still an issue for me. Why is there size limit? I’m sorry but I don’t quite understand.

Now using 20.34.0 and the file is downloaded and installed properly despite errors.