Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows: Auto-updating fails (Error: spawn [...].exe EACCES) #3480

Closed
kraenhansen opened this issue Nov 15, 2018 · 1 comment
Closed

Windows: Auto-updating fails (Error: spawn [...].exe EACCES) #3480

kraenhansen opened this issue Nov 15, 2018 · 1 comment

Comments

@kraenhansen
Copy link
Contributor

kraenhansen commented Nov 15, 2018

  • Version: electron-builder v20.35.0, electron-updater v4.0.0 and electron v3.0.8
  • Target: Windows (NSIS)

Auto-updating fails. To me it looks like the updater stores the new version executable in a location from which it doesn't have access to execute. When I run the application as an administrator the update + install works like a charm. So ... to me it looks like a regression of #1129.

This might be a duplicate of #3367 but I wanted to make it obvious that it happens with the most recent versions too.

Also #1580 (comment) suggests that this might happen when nsis.perMachine is set to false, but it is set to true in my package.json.

This is the STDOUT of my application while performing an update:

Checking for update
Found version 3.0.6 (url: Realm Studio Setup 3.0.6.exe)
Downloading update from Realm Studio Setup 3.0.6.exe
updater cache dir: C:\Users\IEUser\AppData\Local\realm-studio-updater
Update has already been downloaded to C:\Users\IEUser\AppData\Local\realm-studio-updater\pending\Realm Studio Setup 3.0.6.exe).

After I click my dialog to accept the new version.

Install on explicit quitAndInstall
Install: isSilent: false, isRunAfter: true
Error: Error: spawn C:\Users\IEUser\AppData\Local\realm-studio-updater\pending\Realm Studio Setup 3.0.6.exe EACCES
    at Process.ChildProcess._handle.onexit (internal/child_process.js:229:19)
    at onErrorNT (internal/child_process.js:406:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
From previous event:
    at _spawn2 (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:223:6)
    at _spawn (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\out\NsisUpdater.js:353:18)
    at NsisUpdater.doInstall (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:108:5)
    at NsisUpdater.install (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:57:19)    at C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:15:36
    at Generator.next (<anonymous>)
    at NsisUpdater.quitAndInstall (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:13:83)
    at De.detail [as onUpdateAvailable] (C:\Program Files\Realm Studio\resources\app.asar\build\webpack:\src\main\Updater.ts:204:7)
    at NsisUpdater.autoUpdater (C:\Program Files\Realm Studio\resources\app.asar\build\webpack:\src\main\Updater.ts:105:5)
    at NsisUpdater.emit (events.js:182:13)
    at NsisUpdater.EventEmitter.emit (domain.js:442:20)
    at NsisUpdater.dispatchUpdateDownloaded (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:433:10)
    at Object.<anonymous> (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:30:14)
From previous event:
    at NsisUpdater.quitAndInstall (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:13:83)
    at De.detail [as onUpdateAvailable] (C:\Program Files\Realm Studio\resources\app.asar\build\webpack:\src\main\Updater.ts:204:7)
    at NsisUpdater.autoUpdater (C:\Program Files\Realm Studio\resources\app.asar\build\webpack:\src\main\Updater.ts:105:5)
    at NsisUpdater.emit (events.js:182:13)
    at NsisUpdater.EventEmitter.emit (domain.js:442:20)
    at NsisUpdater.dispatchUpdateDownloaded (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:433:10)
    at Object.<anonymous> (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:30:14)
    at Generator.next (<anonymous>)
From previous event:
    at Object.done (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:29:11)
    at C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:581:25
    at Generator.next (<anonymous>)
From previous event:
    at done (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:575:15)
    at C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:592:20
From previous event:
    at NsisUpdater.executeDownload (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:539:68)
    at NsisUpdater.executeDownload (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\BaseUpdater.ts:27:18)
    at NsisUpdater.doDownloadUpdate (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\NsisUpdater.ts:28:17)
    at NsisUpdater.downloadUpdate (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:414:19)
    at C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:377:49
From previous event:
    at NsisUpdater.doCheckForUpdates (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:356:34)
    at C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:284:25
    at Generator.next (<anonymous>)
    at runCallback (timers.js:696:18)
    at tryOnImmediate (timers.js:667:5)
    at processImmediate (timers.js:649:5)
    at process.topLevelDomainCallback (domain.js:121:23)
From previous event:
    at NsisUpdater._checkForUpdates (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:279:33)
    at NsisUpdater.checkForUpdates (C:\Program Files\Realm Studio\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:218:35)
    at De.sendUpdateStatus [as checkForUpdates] (C:\Program Files\Realm Studio\resources\app.asar\build\webpack:\src\main\Updater.ts:138:12)
    at WebContents.cloudManager (C:\Program Files\Realm Studio\resources\app.asar\build\webpack:\src\main\Application.ts:220:12)
    at WebContents.emit (events.js:182:13)
    at WebContents.EventEmitter.emit (domain.js:442:20)
    at WebContents.emitter.emit.args [as emit] (C:\Program Files\Realm Studio\resources\app.asar\node_modules\@sentry\electron\src\main\integrations\electron.ts:65:14)
    at WebContents.topLevelDomainCallback (domain.js:121:23)
@develar
Copy link
Member

develar commented Nov 16, 2018

@kraenhansen Thanks for using pre-release versions. Regression was fixed. Even more — now electron-builder stores information that UAC is required for installer as part of update info, so, first always failed spawn now will be not performed at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants