-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
feat: support upgrading from ARM to ARM, rather than upgrading to x64 in window and linux #9059
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
Conversation
🦋 Changeset detectedLatest commit: 5234af6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
This looks good! Just to confirm, which OS' has this been tested already on? Anything I need to do on my side? |
@mmaietta I have tested it on Windows x64, Windows ARM64, and Mac Intel. If you have time, you can help test on Mac ARM and Linux ARM platforms. |
For Windows ARM, did you test the flow where the x64 installation is being updated to an arm64 build? I think there might be some issues there in terms of registry key cleanup? |
I just tested it, and I didn’t notice any issues. The EXE installer is 32-bit and runs normally. Could you specify which registry issues you’re referring to? |
Sorry, did a double check and it's not the registry key Do we need to be concerned with previous installed location since x86 and x64 are different directories? Will changing the arch of the update cause the previous installation to not be removed?
|
The code you're referring to is for the portable EXE. Since the portable EXE doesn’t require installation, there should be no issues. Currently, NSIS installs everything under the AppData directory, and the installation directories for x86 and x64 are the same. electron-builder/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts Lines 248 to 252 in 444b791
The only difference is when using NSIS's "Install for all users" option: x86 installs to |
Currently, there is no distinction between ARM and x64 on Windows and Linux, causing ARM devices to download the x64 version, which then fails to open. This PR aims to resolve this issue.
macOS already supports ARM and has a more complex Rosetta mode, so it will retain the original filtering mechanism. Only Linux and Windows will adopt the new filtering approach.