qld-cf / electron-react-tpl

electron12 + umi3.2 + typescript react 16.12 + redux + antDesign 4.0 + eslint tslint react-tslint脚手架, 下载即用,仅供学习参考
154 stars 36 forks source link

checkForPartUpdatesERROR operation not permitted #9

Open syx112233 opened 3 years ago

syx112233 commented 3 years ago

我增量更新的事后不能够修改resource/app的名字为.back,有遇到过吗?

qld-cf commented 3 years ago

问题已修复; @syx112233 可以尝试修改: 原文件 - src/main/controls/AppAutoUpdater.js

...
      await downloadFile(remoteAppURL, appZipPath)
      console.log('app.asar.unpacked.zip 下载完成')
      fs.mkdirSync(localresourcePath) // 创建app来解压用
...

=>

      await downloadFile(remoteAppURL, appZipPath)
      console.log('app.asar.unpacked.zip 下载完成')
      if (!fs.existsSync(`${localresourcePath}`)) { // 删除旧备份
        fs.mkdirSync(localresourcePath) // 创建app来解压用
      }
ycwjw2010 commented 3 years ago

我现在就遇到了这个问题,但发生在备份文件的时候。 @qld-cf

checkForPartUpdatesERROR Error: EPERM: operation not permitted, rename './resources/app' -> './resources/app.back' at Object.renameSync (fs.js:643:3) at IpcMainImpl. (C:\Users\develop\AppData\Local\Programs\MyApp\resources\app\src\main\bundle.js:1:354425) at IpcMainImpl.emit (events.js:223:5) at WebContents. (electron/js2c/browser_init.js:173:8161) at WebContents.emit (events.js:223:5) { errno: -4048, syscall: 'rename', code: 'EPERM', path: './resources/app', dest: './resources/app.back' }

ycwjw2010 commented 3 years ago

我现在就遇到了这个问题,但发生在备份文件的时候。 @qld-cf

checkForPartUpdatesERROR Error: EPERM: operation not permitted, rename './resources/app' -> './resources/app.back' at Object.renameSync (fs.js:643:3) at IpcMainImpl. (C:\Users\develop\AppData\Local\Programs\MyApp\resources\app\src\main\bundle.js:1:354425) at IpcMainImpl.emit (events.js:223:5) at WebContents. (electron/js2c/browser_init.js:173:8161) at WebContents.emit (events.js:223:5) { errno: -4048, syscall: 'rename', code: 'EPERM', path: './resources/app', dest: './resources/app.back' }

我为了测试没写版本校验,客户端启动的时候就去重命名这个文件夹了,这时候"./resources/app"应该被占用了。按照流程走应该就没问题了。