dsheiko / nw-autoupdater

⛔️ [DEPRECATED] Library provides low-level API to control NW.js app auto-updates
MIT License
75 stars 36 forks source link

NWJS v0.41.2 (latest) structure changed (build with nwjs-builder-phoenix) #46

Open cry0m1 opened 5 years ago

cry0m1 commented 5 years ago

(unknown) Error: EEXIST: file already exists, mkdir '/Users/username/Application-0.10.14-22-mac-x64/Application.app/Contents/_CodeSignature' selfUpdate

(unknown) Error: Cannot copy 'Versions/Current/nwjs Framework' to a subdirectory of itself, 'Versions/Current/nwjs Framework'. at private/var/folders/2y/54plz59s5h73z1b46gnfdgwc0000gn/T/AppTranslocation/64F8F2E1-CC86-4509-9ED6-116D8B7488E2/d/Application.app/Contents/Resources/app.nw/node_modules/fs-extra/lib/copy/copy.js:190 at FSReqCallback.oncomplete (fs.js:154) selfUpdate and update hangs forever.

I can suppose those by new folder structure inside nwjs with symlinks (found them by investigating binaries to sign by apple developer id): WAS (I do not know exact version when it was changed): Contents/Versions/*/nwjs\ Framework.framework/nwjs\ Framework Contents/Versions/*/nwjs\ Framework.framework/Versions/A/ Contents/Versions/*/nwjs\ Framework.framework/Versions/Current/ Contents/Versions/*/nwjs\ Helper.app/Contents/MacOS/nwjs\ Helper Contents/Versions/*/nwjs\ Framework.framework/Helpers/crashpad_handler Contents/MacOS/nwjs

NOW (NWJS v0.41.2 (latest) structure changed (build with nwjs-builder-phoenix 1.15.0 latest)): Contents/Frameworks/nwjs\ Framework.framework/Versions/*/nwjs\ Framework Contents/Frameworks/nwjs\ Framework.framework/Versions/*/Helpers/nwjs\ Helper.app/Contents/MacOS/nwjs\ Helper Contents/Frameworks/nwjs\ Framework.framework/Versions/*/Helpers/nwjs\ Helper\ \(GPU\).app/Contents/MacOS/nwjs\ Helper\ \(GPU\) Contents/Frameworks/nwjs\ Framework.framework/Versions/*/Helpers/nwjs\ Helper\ \(Plugin\).app/Contents/MacOS/nwjs\ Helper\ \(Plugin\) Contents/Frameworks/nwjs\ Framework.framework/Versions/*/Helpers/nwjs\ Helper\ \(Renderer\).app/Contents/MacOS/nwjs\ Helper\ \(Renderer\) Contents/Frameworks/nwjs\ Framework.framework/Versions/*/Helpers/chrome_crashpad_handler Contents/Frameworks/nwjs\ Framework.framework/Versions/*/Helpers/app_mode_loader Contents/MacOS/Application

NB: symbol '*' is: drwx------ 9 badayka staff 288 Oct 1 17:19 77.0.3865.90 lrwxr-xr-x 1 badayka staff 12 Oct 1 17:19 Current -> 77.0.3865.90

I am not sure this is a problem of nw-autoupdater, maybe nwjs-builder-phoenix.

nw-autoupdater: 1.1.10 (latest) nwjs-builder-phoenix: 1.15.0 (latest)

cry0m1 commented 5 years ago

Additionally: I tried several version combinations:

result is the same: (unknown) Error: Cannot copy 'Versions/Current/nwjs Framework' to a subdirectory of itself, 'Versions/Current/nwjs Framework'. at private/var/folders/2y/54plz59s5h73z1b46gnfdgwc0000gn/T/AppTranslocation/64F8F2E1-CC86-4509-9ED6-116D8B7488E2/d/Application.app/Contents/Resources/app.nw/node_modules/fs-extra/lib/copy/copy.js:190 at FSReqCallback.oncomplete (fs.js:154) selfUpdate

works without issues.