Skip to content

Copy the system config when updating from 32- to 64-bit NVDA#19068

Merged
SaschaCowley merged 1 commit into
masterfrom
copySystemConfigOn32to64Update
Oct 10, 2025
Merged

Copy the system config when updating from 32- to 64-bit NVDA#19068
SaschaCowley merged 1 commit into
masterfrom
copySystemConfigOn32to64Update

Conversation

@SaschaCowley

@SaschaCowley SaschaCowley commented Oct 9, 2025

Copy link
Copy Markdown
Member

Link to issue number:

Fixes #19022

Summary of the issue:

When updating frm 32-bit NVDA to 64-bit NVDA, the system config is lost.

Description of user facing changes:

The system config is retained when updating from 32- to 64-bit NVDA.

Description of developer facing changes:

None

Description of development approach:

Add a keyword-only parameter, prefix, to config._setSystemConfig, which by default is set to sys.prefix so as not to break existing callers.
In the installer, if shouldCleanX86 is True and the x86 copy has a systemConfig directory, use config._setSystemConfig to copy the 32-bit copy's system config to the 64-bit directory before deleting the 32-bit copy's directory.

Testing strategy:

Installed nvda_snapshot_alpha-52864,2772fde8. Changed the user configuration, and used the "Use currently saved settings during sign-in and on secure screens (requires administrator privileges)" button to copy the config to the system profile. Checked that the expected files were in C:\Program Files (x86)\nvda\systemConfig.

Ran a launcher built from this branch. Installed NVDA. Checked that the same contents were present in C:\Program Files\nvda\systemConfig.

Performed the abovesteps, but without changing the system config, and ensured that the upgrade process worked as expected and no systemConfig directory was created.

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.

@SaschaCowley SaschaCowley marked this pull request as ready for review October 9, 2025 05:41
@SaschaCowley SaschaCowley requested a review from a team as a code owner October 9, 2025 05:41
@SaschaCowley SaschaCowley requested review from Copilot and seanbudd and removed request for Copilot October 9, 2025 05:41
@seanbudd seanbudd changed the title Coppy the system config when updating from 32- to 64-bit NVDA Copy the system config when updating from 32- to 64-bit NVDA Oct 9, 2025
@SaschaCowley SaschaCowley merged commit 1984b9e into master Oct 10, 2025
29 checks passed
@SaschaCowley SaschaCowley deleted the copySystemConfigOn32to64Update branch October 10, 2025 00:36
@github-actions github-actions Bot added this to the 2026.1 milestone Oct 10, 2025
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.

Upgrading from 32- to 64-bit NVDA loses the system configuration

2 participants