Cannot install SonarLint Extension in Visual Studio 2022 ARM 64-bit

  • Operating system: Windows 11 Pro 22H2 22621.1702 Experience Pack 1000.22641.1000.0, running in Parallels on Apple Silicon 64-bit ARM.
  • Visual Studio version: Visual Studio Professional 2022 (ARM 64-bit) 17.7.3
  • SonarLint plugin version: SonarLint.VSIX-7.2.0.76209-2022.vsix
  • Programming language you’re coding in: N/A
  • Is connected mode used: N/A
    • Connected to SonarCloud or SonarQube (and which version): N/A

The extension is unavailable through Visual Studio’s Extensions > Manage Extensions dialog. The extension shows up in search in the Roaming Extension Manager pane, but the “Download” button is disabled. Having downloaded the latest VSIX and closing Visual Studio, I cannot install the extension. Below is a partial stack trace showing relevant information about the error.

9/8/2023 10:25:41 AM - Microsoft VSIX Installer
9/8/2023 10:25:41 AM - -------------------------------------------
9/8/2023 10:25:41 AM - vsixinstaller.exe version:
9/8/2023 10:25:41 AM - 17.7.2192+5ac9365ac0
9/8/2023 10:25:41 AM - -------------------------------------------
9/8/2023 10:25:41 AM - Command line parameters:
9/8/2023 10:25:41 AM - C:\[...]\Microsoft.VisualStudio.Setup.Service\VSIXInstaller.exe,C:\[...]\SonarLint.VSIX-7.2.0.76209-2022.vsix
...
9/8/2023 10:25:47 AM - Signature Details...
9/8/2023 10:25:47 AM - 	Extension is signed with a valid signature.
9/8/2023 10:25:47 AM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
   at VSIXInstaller.ExtensionService.GetInstallableDataImpl(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData) in D:\a\_work\1\s\src\product\extensionManager\installer\VSIXInstaller\Services\ExtensionService.cs:line 186
   at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable`1& skuData) in D:\a\_work\1\s\src\product\extensionManager\installer\VSIXInstaller\Services\ExtensionService.cs:line 28
   at VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported) in D:\a\_work\1\s\src\product\extensionManager\installer\VSIXInstaller\Services\ExtensionPackService.cs:line 101
   at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported) in D:\a\_work\1\s\src\product\extensionManager\installer\VSIXInstaller\Services\ExtensionPackService.cs:line 42
   at VSIXInstaller.App.Initialize(Boolean isRepairSupported) in D:\a\_work\1\s\src\product\extensionManager\installer\VSIXInstaller\App.xaml.cs:line 272
   at VSIXInstaller.App.Initialize() in D:\a\_work\1\s\src\product\extensionManager\installer\VSIXInstaller\App.xaml.cs:line 230
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

Are ARM processors unsupported? Are there plans to add support for them?

EDIT: I’m not a VSIX developer, but according to Microsoft’s documentation adding support for ARM64 targets in VS Extensions that already target AMD64 is trivial:

  1. Arm64 Support for VS Extensions
  2. Target Visual Studio 2022 (ARM64) when creating or updating an extension in Visual Studio 2022 - Visual Studio (Windows) | Microsoft Learn

A post was merged into an existing topic: Can’t install on Microsoft Visual Studio Professional 2022 (ARM 64-bit)

For anyone else looking for how to use SonarQube for IDE on Windows 11 ARM64…

  1. Download the vsix installer
  2. Use 7-zip to unzip it (we’ll use c:\temp\vsix as the pretend folder)
  3. In c:\temp\vsix, find and edit extension.vsixmanifest
  4. Locate the tag that says <ProductArchitecture>amd64</ProductArchitecture>
  5. Change amd64 to arm64
  6. Save the file
  7. using 7-zip, create a new archive using the contents of c:\temp\vsix. Use the zip file defaults, but name the file with a .vsix extension
  8. run the new .vsix installer file you just created.

Does this work? So far, yes. Surly it can’t be this easy.
I was prompted for missing node, etc, but that is normal.