microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
161.61k stars 28.39k forks source link

Windows: Error auto-updating x64 version on ARM64 #141031

Open Colengms opened 2 years ago

Colengms commented 2 years ago

I noticed that when I use "Check for Updates..." on ARM64 Windows (Surface Pro X), using VS Code Insiders 1.64.0, it appears to download something then pops up an error message with:

Screenshot 2022-01-19 150231

Perhaps there was a publishing issue causing the wrong architecture to be associated.


Version: 1.64.0-insider (user setup) Commit: c6e58d126f6b5676242e32b34180b2a595f29b51 Date: 2022-01-14T05:19:33.429Z Electron: 13.5.2 Chromium: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Windows_NT x64 10.0.22000

joaomoreno commented 2 years ago

I'm very confused at to why your issue says at the end OS: Windows_NT x64 10.0.22000.

Are you sure you first installed VS Code for ARM, and you're not just running the x64 in emulation mode?

Colengms commented 2 years ago

I think I closed this prematurely. While I had intended to use the ARM64 version, it's entirely valid to install an x64 build on ARM64 Windows 11 (it emulates x64). So, VS Code should have been able to update and should not have reported the error.

joaomoreno commented 2 years ago

So, if I get it right, you installed the x64 version on a ARM64 Windows. Then, upon an update notification, you get that error?

Colengms commented 2 years ago

@joaomoreno Yes, on ARM64 Windows 11, which emulates x64. (ARM64 Windows 10 does not. https://www.windowscentral.com/microsoft-states-x64-emulation-only-available-windows-11-arm-pcs ). I repro'ed by manually selecting Check for Updates....

It seems upgrade should either be allowed, or initial install should be disallowed and refer the user to the 'more appropriate' install executable for their platform. IMHO, it would be better to allow this, as running x64 on ARM64 could be useful for testing purposes (testing repros of issues against both x64 and ARM64 in an otherwise identical environment), or to allow use of a platform-specific extension VSIX that is built for x64 and not ARM64.

alexstrickland commented 7 months ago

I use a debugger extension for an open source language, and it does not work on the ARM version of VS Code (I use ARM because Parallels on a Mac) and so I install the x64 version, so there is a valid use case and I would be very happy to see updates working seamlessly. It used to be worse because I could not even download the x64 version unless I was on a x64 machine.

cawoodm commented 5 months ago

I'm running into the same issue - VS Code running on Macbook M3 hardware but inside a Windows 11 (Parallels ARM Virtual Machine) is unable to update.

Windows reports "System type 64-bit operating system, ARM-based processor"

VS Code Help -> About reports "Windows_NT x64"