-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
macOS auto-update without extra zip file #2199
Comments
Will it matter if I have installed my app via pkg? |
You can ask us to support pkg but... #1728 (comment) Depends on user demand / donation. |
To make clear — when this feature will be implemented, it will be very easy to support virtually any format, including pkg. Not because our position about DMG is changed, but because of backward compatibility (need to support both zip and DMG, so, old clients will be able to update). |
@develar i think this feature has broken
The ArchiveTarget is called with isWriteUpdateInfo to false, so my latest.yml is not generated anymore
|
@farfromrefug By intention. If you need auto-update on macOS, you build both dmg and zip. Why do you build only zip and not dmg? |
Because i dont need dmg :D What's hard is that you broke support for it while it was there. Now i am not against switching to dmg! But does it mean i can only use dmg ,and update files will still be built ? If so, do the distrib updater my clients have within their app already know how to install dmg updates? Thanks |
I was not aware about such use case. Fix will be today evening CET (better if you will duplicate your comment as a new issue). |
@develar no problem, thanks for fixing this |
What is the current status of this issue? |
Hi @develar |
Adding the following to my electron builder config allowed me to proceed:
|
Feature is not implemented yet. |
Same as @ilyaLibin. Any update on this? |
Bumping this issue, I see no reason to have both |
Friendly ping from my side :) |
Until this issue is fixed electron-userland/electron-builder#2199, a zip file is requied for auto update.
@acnebs I'm happy to review any PR. |
For fully automatic macOS updates, electron-updater requires: 1. Distributing macOS file as .zip (electron-userland/electron-builder#2199) 2. Code signing for the application privacy.sexy as of today lacks both the distribution and code signing. This commit introduces auto-updates through automatically checking for updates, downloading them but requiring user to drag application icons to Applications by opening dmg file. This commit also fixes: 1. Progress state in update progress bar not being shown. 2. Downloading updates were being triggered even though it was not desired as downloads are being handled using different based on OS and user choice. In the end it refactors the code for handling updates of two different kinds, and making message dialog use enums for results instead of response integers as well as setting default and cancel button behavior. Refactorings make behaviors more explicit and extends the control.
This is extremely frustrating to realize that disabling |
This is the bare minimum to save people from breaking auto update on macos, as noted in electron-userland#2199 (comment)
This is the bare minimum to save people from breaking auto update on macos, as noted in #2199 (comment)
Although our users install Cozy Desktop via the `dmg` target on macOS, the `zip` target is still required for the updater to work. Indeed, if the generated zip file isn't published, the updater will fail as it is looking for its presence. The issue has been reported a long time ago in electron-userland/electron-builder#2199 but there is no recent work on any potential solution.
Although our users install Cozy Desktop via the `dmg` target on macOS, the `zip` target is still required for the updater to work. Indeed, if the generated zip file isn't published, the updater will fail as it is looking for its presence. The issue has been reported a long time ago in electron-userland/electron-builder#2199 but there is no recent work on any potential solution.
Although our users install Cozy Desktop via the `dmg` target on macOS, the `zip` target is still required for the updater to work. Indeed, if the generated zip file isn't published, the updater will fail as it is looking for its presence. The issue has been reported a long time ago in electron-userland/electron-builder#2199 but there is no recent work on any potential solution.
Although our users install Cozy Desktop via the `dmg` target on macOS, the `zip` target is still required for the updater to work. Indeed, if the generated zip file isn't published, the updater will fail as it is looking for its presence. The issue has been reported a long time ago in electron-userland/electron-builder#2199 but there is no recent work on any potential solution.
Although our users install Cozy Desktop via the `dmg` target on macOS, the `zip` target is still required for the updater to work. Indeed, if the generated zip file isn't published, the updater will fail as it is looking for its presence. The issue has been reported a long time ago in electron-userland/electron-builder#2199 but there is no recent work on any potential solution.
Although our users install Cozy Desktop via the `dmg` target on macOS, the `zip` target is still required for the updater to work. Indeed, if the generated zip file isn't published, the updater will fail as it is looking for its presence. The issue has been reported a long time ago in electron-userland/electron-builder#2199 but there is no recent work on any potential solution.
For fully automatic macOS updates, electron-updater requires: 1. Distributing macOS file as .zip (electron-userland/electron-builder#2199) 2. Code signing for the application privacy.sexy as of today lacks both the distribution and code signing. This commit introduces auto-updates through automatically checking for updates, downloading them but requiring user to drag application icons to Applications by opening dmg file. This commit also fixes: 1. Progress state in update progress bar not being shown. 2. Downloading updates were being triggered even though it was not desired as downloads are being handled using different based on OS and user choice. In the end it refactors the code for handling updates of two different kinds, and making message dialog use enums for results instead of response integers as well as setting default and cancel button behavior. Refactorings make behaviors more explicit and extends the control.
This was bugging me, so I spent a couple of hours looking into how this could be implemented. The builtin autoUpdater being leveraged requires the app to be in a zip file. There is no way around this without deep code changes there. So I have 2 ideas on how to proceed. I have not been considering differential downloads. The hacky wayIt would be entirely possible for electron-updater to:
This will be rather inefficient on cpu and storage as it will be asking every user to create the zip file themselves. The more changes wayFrom skimming the code, I see no obvious reason (I have never read objective-c before, so I could be missing things) that the builtin auto-updater couldn't be modified to allow
Alternatively, instead of asking electron to accept the change to expose |
So I've also investigated this in the past and the problem is that the AFAIK, there's no way to get around the zip-enforced update process without manually copy-overwriting the previous Honestly, I'm not sure how to proceed with this given the limitations above and |
I think it depends on if someone is willing to try and get that exposed in electron, and if electron is open to accepting that change. But I am worrying that improving this could end up causing more pain for end users. |
@mmaietta I took a proper look at this last night, and have a custom build of electron that seems to be working. |
Thank you, I'll subscribe to that PR and see how the convo goes! |
There is no any reason to require ZIP file. DMG should be enough.
Stay tuned — delta updates using DMG files are coming next week :)
The text was updated successfully, but these errors were encountered: