Skip to content
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

Auto-updater does not consistently work with Windows 64-bit and 32-bit builds #492

Closed
gmaclennan opened this issue Jun 25, 2021 · 0 comments · Fixed by #495
Closed

Auto-updater does not consistently work with Windows 64-bit and 32-bit builds #492

gmaclennan opened this issue Jun 25, 2021 · 0 comments · Fixed by #495

Comments

@gmaclennan
Copy link
Member

Mapeo should support Windows 32-bit machines. To do that we create both 32-bit and 64-bit installers. We also want to keep the download size small, so we do not generate a combined installer for both architectures.

Currently we built both 32-bit and 64-bit versions by building twice on 32-bit and 64-bit windows.

The way Electron Builder updater works, it generates a file for the windows release called latest.yml. When we run the build on both 32-bit and 64-bit windows, they both generate this same file, and then upload it to Github releases and an S3 bucket. Unfortunately this means that the last build to run will overwrite the latest.yml for the previous build.

The auto-updater that is now part of Mapeo will use this file to discover, download and install the latest version. Because this latest.yml could point to either the 32-bit or the 64-bit installer, this could break for users on 32-bit Windows machines (because the updater will download and try to install the 64-bit version). It could also result in degraded performance for users on 64-bit machines if they update to the 32-bit version.

I'm not sure what the fix is. It seems like PR#5718 might fix support for multiple archs without doing two builds, which might fix this problem. Worst case: we try to ensure that the 64-bit version is always written to latest.yml and we turn-off auto-update for 32-bit Mapeo for now at runtime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant