Squirrel.Mac icon indicating copy to clipboard operation
Squirrel.Mac copied to clipboard

Gatekeeper Path Randomization makes life hard #182

Open steffanhalv opened this issue 5 years ago • 2 comments

A follow up for https://github.com/Squirrel/Squirrel.Mac/issues/182

The issue was never solved and it creates a big bunch of problems to many of us.

https://github.com/Microsoft/vscode/issues/7426

Nothing you can do about it?

The problem still exist on macOS Mojave

steffanhalv avatar Oct 31 '18 20:10 steffanhalv

@steffanhalv That issue was closed by https://github.com/Squirrel/Squirrel.Mac/pull/186

There is a usable error that you can show your users that tells them how to fix it (move the app to a non-readonly place)

MarshallOfSound avatar Oct 31 '18 23:10 MarshallOfSound

@MarshallOfSound Sorry, guess I didn't look close enough, but still doesn't solve the problem for me.

Here is a summary for how I got into this and hopefully you have better insights as of where the problem occurs:

1. Creating an electronjs application
2. Using latest electron-updater which uses Squirrel.Mac for autoupdates on mac
3. Creating a build and upload it to the web as a .dmg  in a github release together with a .zip file for autoupdates
4. I download the .dmg and drag it to the application folder
5. Application starts and update is detected and downloads successfully
6. Trying to perform Quit and Install of the new update, which does not work
7. In the log files I find: `Error: Could not create temporary directory: No access`
8. I navigate to `~/Library/Caches/com.myapp.MyApp.ShipIt` and find that its not owned by the user
9. So I run `sudo chown $USER ~/Library/Caches/com.myapp.MyApp.ShipIt` and then the update works

It's just very strange if I have to drag the app out of the application folder, to the desktop and open from there to use the updater. If I drag it to the desktop and back in to the application folder, the error still does persist.

Some says it's a problem with ShipIt, maybe it could be a bug in Electron Updater, I dont know ^^.

I didn't check which user had access to /Caches/com.myapp.MyApp.ShipIt but I guess it was root. At least I was forced to use sudo to make it work.

So I think it has to be either ShipIt or Electron that creates this cache folder as wrong user, and that should not be necessary or am I wrong?

--

Btw.

I did come into issue #182 by reading this issue: https://github.com/Microsoft/vscode/issues/7426#issuecomment-425093469

They have the same problem like me, where it is stated that this error comes from #182 I'm not sure if thats actually 100% correct.

steffanhalv avatar Nov 01 '18 12:11 steffanhalv