Improve Windows Update Completion Handling with Extended Validation and Optional Reboot Delay#161
Closed
hendrie6 wants to merge 42 commits intorgl:masterfrom
Closed
Improve Windows Update Completion Handling with Extended Validation and Optional Reboot Delay#161hendrie6 wants to merge 42 commits intorgl:masterfrom
hendrie6 wants to merge 42 commits intorgl:masterfrom
Conversation
Added functionality to check for updates
Removed GPG key import step and updated artifact name.
Updated zip file naming convention and added overwrite option for release action.
Updated the release workflow to build separate plugins for Windows and Linux, and adjusted the SHA256SUMS generation accordingly.
Updated build commands to include version in output filenames and added a step to list release artifacts.
Updated comments and improved error handling in the Windows Update script.
Handle additional eventvwr message when updates are being downloaded and KB string is in the ReplacementString array
Added information about the default value of reboot_delay.
Adding var that turns on and off UseExtendedValidation. UseExtendedValidation allows for enhancing the process to use event logs and windows cbs logs to determine the status of windows updates
Add missing newline at the end of the file
hendrie6
commented
Feb 20, 2026
Author
hendrie6
left a comment
There was a problem hiding this comment.
Adding RebootDelay and UseExtendedValidation parameters. Not specifying them results in the same current functionality.
Specifying a reboot delay in seconds delays the reboot after successful installation where a reboot is required. Mainly to help with troubleshooting purposes.
Setting UseExtendedValidation to true results in extending the monitoring of the Windows update installation status based on event logs and CBS logs. I've found this to resolve issues where TIWorker.exe doesn't exit after completing an installation, resulting in this module looping while it waits for TIWorker.exe to exit even though the update has already installed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description:
This pull request adds additional safeguards to handle scenarios where Windows Updates successfully complete but the worker process does not exit as expected.
Issues resolved:
This addresses multiple issues that are opened related to TiWorker 'hanging' (#147 #49 #91).
Code added:
To address this, I’ve introduced extended validation logic that more reliably determines update completion by inspecting:
This functionality is controlled via a new optional flag:
use_extended_validation — when enabled, the worker uses log-based validation to confirm update status rather than relying solely on process behavior.
In addition, this PR adds:
reboot_delay — a configurable delay (in seconds) that pauses execution after updates complete when a reboot is required. This allows systems additional time to settle before the workflow proceeds. I mainly use this when testing the process and needing it to pause while I troubleshoot before a forced reboot.
These changes aim to improve reliability in edge cases while remaining fully backward-compatible and are opt-in.
Thanks for reviewing — feedback is very welcome!