Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 31, 2025

Users cannot install the extension on Windows ARM64 devices (e.g., Surface ARM) due to missing ARM64 architecture target and x64-only native dependencies.

Changes

  • VSIX Manifest: Added ARM64 InstallationTarget alongside existing amd64 for VS 2022/2025
  • Native Dependencies: Added ARM64 binaries for libsodium.dll (v1.0.20.1) and git2-e632535.dll (v2.0.320) from official NuGet packages
  • Binary Organization: Restructured to architecture-specific folders (lib/win32/x64/, lib/win32/arm64/)
  • libsodium Upgrade: Updated x64 version from v1.0.18 to v1.0.20.1 for consistency

Structure

lib/win32/
├── x64/
│   ├── libsodium.dll        (PE32+ x86-64)
│   └── git2-e632535.dll     (PE32+ x86-64)
└── arm64/
    ├── libsodium.dll        (PE32+ Aarch64)
    └── git2-e632535.dll     (PE32+ Aarch64)

Both LibGit2Sharp.NativeBinaries and libsodium NuGet packages provide official ARM64 Windows support.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • download.libsodium.org
    • Triggering command: curl -L -o libsodium-stable.zip REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Support for ARM processors.</issue_title>
<issue_description>Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
I cannot install the extension on my Windows Surface Arm processor

Error Message

10/29/2025 10:48:08 AM - Microsoft VSIX Installer
10/29/2025 10:48:08 AM - -------------------------------------------
10/29/2025 10:48:08 AM - vsixinstaller.exe version:
10/29/2025 10:48:08 AM - 18.0.252-preview2+d9233ff079
10/29/2025 10:48:08 AM - -------------------------------------------
10/29/2025 10:48:08 AM - Command line parameters:
10/29/2025 10:48:08 AM - C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service\VSIXInstaller.exe,C:\Users\torki\Downloads\GitHubActionsVS.vsix
10/29/2025 10:48:08 AM - -------------------------------------------
10/29/2025 10:48:08 AM - Microsoft VSIX Installer
10/29/2025 10:48:08 AM - -------------------------------------------
10/29/2025 10:48:09 AM - Initializing Install...
10/29/2025 10:48:09 AM - Searching for applicable products...
10/29/2025 10:48:10 AM - Found installed product - SQL Server Management Studio 21
10/29/2025 10:48:10 AM - Found installed product - Visual Studio Enterprise 2026 Insiders
10/29/2025 10:48:10 AM - Found installed product - Visual Studio Enterprise 2022
10/29/2025 10:48:10 AM - Found installed product - Global Location
10/29/2025 10:48:10 AM - Extension Details...
10/29/2025 10:48:10 AM - Identifier : TimHeuer.GitHubActions
10/29/2025 10:48:10 AM - Name : GitHub Actions
10/29/2025 10:48:10 AM - Author : Tim Heuer
10/29/2025 10:48:10 AM - Version : 0.1.102
10/29/2025 10:48:10 AM - Description : A window that provides a view of GitHub Actions for the current repo of the opened solution in Visual Studio. Provided by @timheuer
10/29/2025 10:48:10 AM - Locale : en-US
10/29/2025 10:48:10 AM - MoreInfoURL : https://github.com/timheuer/GitHubActionsVS
10/29/2025 10:48:10 AM - InstalledByMSI : False
10/29/2025 10:48:10 AM - SupportedFrameworkVersionRange : [0.0,2147483647.2147483647]
10/29/2025 10:48:10 AM - SignatureState : Unsigned
10/29/2025 10:48:10 AM - Supported Products :
10/29/2025 10:48:10 AM - Microsoft.VisualStudio.Community
10/29/2025 10:48:10 AM - Version : [17.0,19.0)
10/29/2025 10:48:10 AM - ProductArchitecture : amd64
10/29/2025 10:48:10 AM - References :
10/29/2025 10:48:10 AM - Prerequisites :
10/29/2025 10:48:10 AM - -------------------------------------------------------
10/29/2025 10:48:10 AM - Identifier : Microsoft.VisualStudio.Component.CoreEditor
10/29/2025 10:48:10 AM - Name : Visual Studio core editor
10/29/2025 10:48:10 AM - Version : [17.0,)
10/29/2025 10:48:10 AM - Signature Details...
10/29/2025 10:48:10 AM - Extension is not signed.
10/29/2025 10:48:10 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, IEnumerable1& skuData) at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable1& skuData)
at VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported)
at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
at VSIXInstaller.App.Initialize()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
</issue_description>

<agent_instructions>The issue reports that this is not installable on arm64. That is a simple change to include the InstallationTarget for arm64 and the same version range.

However there are two native dependencies (libsodium.dll and the lib\win32\x64\git2-e632535.dll) that need to be ensured are arm64 valid as well.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@timheuer @torkilp Thanks for the report -- I have two native dependencies that are x64 preventing me from quickly spinning up a build. I'll have to make time to track them down and ensure packaging works. I also don't have an `arm64` environment to validate so it may be some bumpy testing ;-)

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Add support for ARM processors in extension Add ARM64 support for Windows ARM devices Oct 31, 2025
Copilot AI requested a review from timheuer October 31, 2025 04:17
@timheuer timheuer marked this pull request as ready for review October 31, 2025 04:19
@timheuer timheuer merged commit 2223b1f into main Oct 31, 2025
1 of 4 checks passed
@timheuer timheuer deleted the copilot/support-arm-processors branch October 31, 2025 04:24
timheuer added a commit that referenced this pull request Oct 31, 2025
Supports #40

Updated `GitHubActionsVS.csproj` to adjust paths for `libsodium.dll` to dynamically load architecture-specific binaries from the `runtimes` folder. Upgraded `Sodium.Core` package to version `1.4.0`.

Added `TryLoadLibSodium` method in `GitHubActionsVSPackage.cs` to dynamically load the appropriate `libsodium.dll` for x64 or ARM64 architectures. Introduced error handling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for ARM processors.

2 participants