Allow MakerDMG to support auto updates
Pre-flight checklist
- [x] I have read the contribution documentation for this project.
- [x] I agree to follow the code of conduct that this project uses.
- [x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Problem description
So far the only maker supporting auto updates on Mac is MakerZip. We use the autoupdate functionality on the PublisherS3 publisher. Is it possible to have MakerDmg support auto updates as well?
Proposed solution
Add the macUpdateManifestBaseUrl property to MakerDmg just like MakerZip has. Reference
Alternatives considered
We considered rolling our own autoupdate server and flow but having it on MakerDMG seemed natural.
Additional information
No response
The macOS updater internal to Electron updates using zip files. Therefore the only maker that makes sense to produce the update manifest is the zip maker.
Do you have some other use case in mind, or were you not aware of the macOS updater requiring zip files to function?
I'd also note this isn't an either/or scenario. Most people use both the zip and dmg makers, and produce both, serving the dmg from their website for downloads and the zip is exclusively used for auto updates
Thanks @MarshallOfSound - are you saying that I can distribute a zip AND dmg, and even if a user downloads and installs using a .dmg, Electron will know to take the latest contents from the zip file? If so, that would solve our problem, because we would simply use both makers.
@kristophM I believe that's accurate!
Ok we'll try this out this week and report back. Thank you.
@kristophM Did you find a solution for this? I am having the same problem.
Hi @olan-go2 we tried the recommended approach at the top of this thread and it worked fine. Meaning: We packaged it as a zip and a dmg, and made sure we had auto update on the zip maker, and even when people installed dmgs they autoupdated without issue.
Added some clarity to the documentation around this: https://github.com/electron-forge/electron-forge-docs/commit/c23f806e1b06e36578140c7bce9380b7a20b0ca5