Added a feature to restart windows after an update.#19718
Added a feature to restart windows after an update.#19718seanbudd merged 18 commits intonvaccess:masterfrom
Conversation
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
…nto restartwindows
|
I'm not sure how I feel about this approach. Instead of creating a new dialog, I think we should expand the dialog shown after the install completes. Currently it says "Please press OK to start the installed copy.". Otherwise the installer continues to run Instead I think we should have the following options:
Thoughts? |
|
Hi @seanbudd,
How would this turn out if we are updating NVDA? Secondly, do I remove the "don't ask me" option from the dialog and just let it be in the general setting? |
|
@kefaslungu - the dialog i am talking about happens after the NVDA installation completes. The current options are:
You can add the quit option by calling the same code the exit dialog does. I don't think a "don't ask me again" option is needed if we do it this way, or any settings at all |
|
That is understood. After an update, we don't usually get an option to continue running the installer, it's just starts the new installed copy. What should I do there? |
|
Hi @seanbudd Since it's the same launcher in both cases, i'll just do as you say. Let me get to it. |
|
My mistake, the option to continue running is not there. Let's adjust that dialog to add those options though |
|
My mistake, the option to continue running is not there. Let's adjust that dialog to add those options though
What is the "normal user" use case for not starting the newly installed/updated copy?
Since the option to keep running the temporary copy has never existed before, shouldn't this new behavior have some justification?
As you guys like to say: what's the user story?
Besides, this PR was about restarting Windows. Now it is becoming about extending the temporary copy runtime for some reason.
|
|
@XLTechie - I think the case would be: you want to install NVDA, but don't intend to use it for long. You run the installer, test out NVDA briefly, decide to install, and want to continue testing without having to restart Windows or NVDA. This might not be possible or safe though, with our current installer pattern. We might just have to offer quit/start new copy/restart Windows |
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
|
Hi @seanbudd, I've made the changes, I've removed the option to continue running as well. |
|
Expanding the existing completion dialog is definitely a cleaner, more integrated approach than introducing a second dialog, and your proposed options cover the full set of actions a user might reasonably want to take at that point.
The four‑option layout you suggested makes sense:
•
Exit the NVDA installer
•
Continue running the installer
•
Start the freshly installed copy
•
Restart Windows
This would keep everything in one place and avoid interrupting the flow with an additional modal. It also gives users clearer control over what happens next, especially in cases where NVDA needs to restart or where Windows needs a reboot to release file locks.
I’m open to moving in this direction. My only concern is making sure the dialog doesn’t become overwhelming or confusing, but with good labeling and grouping it should stay intuitive.
From: Sean Budd ***@***.***>
Sent: Thursday, February 26, 2026 7:40 PM
To: nvaccess/nvda ***@***.***>
Cc: Subscribed ***@***.***>
Subject: Re: [nvaccess/nvda] Added a feature to restart windows after an update. (PR #19718)
seanbudd left a comment (nvaccess/nvda#19718) <#19718 (comment)>
I'm not sure how I feel about this approach.
Instead of creating a new dialog, I think we should expand the dialog shown after the install completes.
Currently it says "Please press OK to start the installed copy.". Otherwise the installer continues to run
Instead I think we should have the following options:
* Exit the NVDA installer
* Continue running the installer
* Start the freshly installed copy
* Restart Windows
Thoughts?
—
Reply to this email directly, view it on GitHub <#19718 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGDN7QCUIR3F6QF2T4OX4IT4N6U77AVCNFSM6AAAAACWBHUIGWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSNZQGM4TANJUHE> .
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
|
I'd prefer that the restart dialog be suppressed for updates from one build of the same numeric version to another (i.e. master snapshots, PR builds, self-signed builds). |
|
Hi @codeofdusk,
I think an install is an install, the main reason for this is for proper cleanup, not really a version thing. We could sometimes be working on a new feature, and we want to build and test from the same version. You still have an option not to restart anyway. |
Hi, I've removed the option to Continue running the installer, I don't think this is necessary. |
|
is this ready for review? |
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
|
Hi @seanbudd, Yes. This is ready for review. |
There was a problem hiding this comment.
Pull request overview
This PR adds a post-installation dialog to NVDA that presents users with options to restart Windows, start the newly installed NVDA, or exit the installer after a successful installation or update. This addresses issue #19268, which reported that issues can occur when NVDA is installed or updated without restarting Windows (e.g., improper registration or application injection preventing virtual buffers in web browsers).
Changes:
- Added
_restartWindows()and_showPostInstallDialog()functions toinstallerGui.py, replacing the old simple success message box with a three-button dialog offering "Restart Windows", "Start NVDA" (conditional), and "Exit NVDA" options. - Updated user documentation (
userGuide.mdandchanges.md) to describe the new post-install dialog and its options.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| source/gui/installerGui.py | Added _restartWindows() to issue a Windows restart command and _showPostInstallDialog() to present post-install options; replaced the old gui.messageBox success dialog with the new MessageDialog-based dialog |
| user_docs/en/userGuide.md | Added "Restart Windows After Installation" section documenting the new dialog and its options; updated the installation description to reference the new section |
| user_docs/en/changes.md | Added changelog entry for the new post-install dialog feature |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
… docs Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
|
As requested previously, please address the unresolved comments: #19718 (comment) |
…start success, update restart message wording Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
|
Please make sure pre-commit is passing |
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
…, NVDA now safely exits via triggerNVDAExit(None), case _ as returnCode: now logs an error with the unexpected return code instead of silently passing. Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
|
Please make sure to fix up translator comments: |
Signed-off-by: kefaslungu <jameskefaslungu@gmail.com>
Head branch was pushed to by a user without write access
Summary of the issue/pull request
Closes #19268
After installing or updating NVDA, users sometimes experience issues that a Windows restart fixes. This PR adds a post-install dialog giving users clear options for what to do next.
Description of user facing changes
Description of developer facing changes
source/gui/installerGui.py:_restartWindows()— issuesshutdown /r /t 0viasubprocess.runwithCREATE_NO_WINDOW. ReturnsTrueif successful._showPostInstallDialog(isUpdate, startAfterInstall)— shows the post-installMessageDialogwith up to 3 buttons (CUSTOM_1,CUSTOM_2,CANCEL) and handles all follow-up actions.doInstall()to call_showPostInstallDialoginstead of the oldgui.messageBoxfor non-silent installs.user_docs/en/userGuide.md: Added#RestartWindowsAfterInstallsection; updated installation description.user_docs/en/changes.md: Added new-feature entry under 2026.2.Testing strategy
--install-silent) shows no dialog.Known issues with pull request
None