Skip to content

remove 32bit OS handling for com registration fixing tool #19523

Merged
SaschaCowley merged 1 commit intobetafrom
fixARMCOMReg
Feb 4, 2026
Merged

remove 32bit OS handling for com registration fixing tool #19523
SaschaCowley merged 1 commit intobetafrom
fixARMCOMReg

Conversation

@seanbudd
Copy link
Copy Markdown
Member

@seanbudd seanbudd commented Jan 28, 2026

Link to issue number:

Closes #16200

Summary of the issue:

NVDA would not update com registrations for ARM

Description of user facing changes:

Unknown. after running the com registration fixing tool or the installer, bugs may be fixed when interacting with ARM software

Description of developer facing changes:

None

Description of development approach:

  • add functions register ARM dlls
  • remove unnecessary handling for 32bit NVDA

Testing strategy:

Tested running the COM reg tool on an ARM device, ensure it succeeded

Known issues with pull request:

None

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

Copilot AI review requested due to automatic review settings January 28, 2026 06:22
@seanbudd seanbudd requested review from a team as code owners January 28, 2026 06:23
@seanbudd seanbudd requested a review from SaschaCowley January 28, 2026 06:23
@seanbudd seanbudd changed the base branch from master to beta January 28, 2026 06:23
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the COM Registration Fixing Tool to align with NVDA’s 64‑bit-only support and to better handle ARM64 systems, as well as documenting the change in the user changelog.

Changes:

  • Simplified COM registration and registry patch helpers to assume NVDA is 64‑bit, removing legacy 32‑bit NVDA handling.
  • Introduced ARM64-specific helper functions and wired them into fixCOMRegistrations for both registry patches and COM proxy DLLs.
  • Documented the COM Registration Fixing Tool behavior change in user_docs/en/changes.md and fixed a minor formatting issue in the developer changes section.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
source/COMRegistrationFixes/__init__.py Refactors COM registration/registry patch logic for a 64‑bit-only NVDA and adds ARM64-specific helpers, used by the COM Registration Fixing Tool and installer.
user_docs/en/changes.md Notes the COM Registration Fixing Tool fix for ARM software and corrects a spacing issue in the developer changelog.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@LeonarddeR
Copy link
Copy Markdown
Collaborator

I think all libraries on Arm64 are ARM64X libraries, therefore they bundle both ARM64EC and ARM64 native code. Therefore I indeed think that ARM64 registry patches can be handled like normal X64. I'm not exactly sure about the libraries though. Strictly spoken, I think you might be able to run regsvr32.exe in both ARM64 native and ARM64EC mode. Still, what actually happens is that registry patches are applied under the hoot, and they are also in the same registry location.

@seanbudd
Copy link
Copy Markdown
Member Author

Yep - I think we would've run into serious problems with running NVDA on ARM devices if this wasn't already working. I think we can close this PR (or just keep the removal of 32bit handling) and close the original issue as already fixed by the 64bit migration

@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Jan 29, 2026
@SaschaCowley SaschaCowley added this to the 2026.1 milestone Jan 29, 2026
@seanbudd seanbudd marked this pull request as draft January 30, 2026 01:28
@seanbudd seanbudd changed the title fix com registration fixing tool for ARM remove 32bit OS handling for com registration fixing tool Feb 4, 2026
@seanbudd seanbudd marked this pull request as ready for review February 4, 2026 03:00
@seanbudd seanbudd requested a review from SaschaCowley February 4, 2026 03:03
@SaschaCowley SaschaCowley enabled auto-merge (squash) February 4, 2026 03:31
@SaschaCowley SaschaCowley merged commit b2a380c into beta Feb 4, 2026
39 checks passed
@SaschaCowley SaschaCowley deleted the fixARMCOMReg branch February 4, 2026 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

COM registration fixing tool fails to register X64 DLL's on ARM 64, and does not register native ARM 64 DLL's

4 participants