Electron-builder: EPERM error on windows during update process

Created on 11 Feb 2019  路  5Comments  路  Source: electron-userland/electron-builder


  • Target:
    macOS


We've had quite a few of our users run into this, a new issue appearing with a recent upgrade of Electron Builder/Updater. Maybe the file isn't fully downloaded and closed before we try to do something with it?

It seems to happen before the prompt is shown asking the user to update - you can see our update code here:

The callstack looks like this:

Unhandled Promise Rejection
Error: EPERM: operation not permitted, open 'C:\Users\XXX\AppData\Local\signal-desktop-beta-updater\pending\temp-signal-desktop-beta-win-1.21.0-beta.4.exe'
    at ElectronHttpExecutor.download (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\electronHttpExecutor.ts:23:73)
    at Object.<anonymous> (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:35:35)
From previous event:
    at Object.task (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:31:11)
    at C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:610:25
From previous event:
    at NsisUpdater.executeDownload (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:545:68)
    at NsisUpdater.executeDownload (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:27:18)
    at NsisUpdater.doDownloadUpdate (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:27:17)
    at NsisUpdater.downloadUpdate (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:420:19)
    at C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:383:49
    at Generator.next (<anonymous>)
    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\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:360:34)
    at NsisUpdater.checkForUpdates (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:220:35)
    at Timeout.checkForUpdates [as _onTimeout] (C:\Users\XXX\AppData\Local\Programs\signal-desktop-beta\resources\app.asar\app\auto_update.js:22:15)
    at ontimeout (timers.js:427:11)
    at tryOnTimeout (timers.js:289:5)
    at listOnTimeout (timers.js:252:5)
    at Timer.processTimers (timers.js:212:10)

Original bug: https://github.com/signalapp/Signal-Desktop/issues/3106

backlog

All 5 comments

Signal bug mentioned above also happened on Windows for me.

Any updates?

It needs to set autoDownload = false, when using downloadUpdate.

I think I ran into the same/similar issue for Mac auto updates.

{ Error: listen EPERM: operation not permitted 127.0.0.1
    at Server.setupListenHandle [as _listen2] (net.js:1216:19)
    at listenInCluster (net.js:1281:12)
    at doListen (net.js:1420:7)
    at processTicksAndRejections (internal/process/task_queues.js:81:17)
  code: 'EPERM',
  errno: 'EPERM',
  syscall: 'listen',
  address: '127.0.0.1' }

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ccorcos picture ccorcos  路  3Comments

xingoxu picture xingoxu  路  3Comments

alexstrat picture alexstrat  路  3Comments

philcockfield picture philcockfield  路  3Comments

omarkilani picture omarkilani  路  3Comments