HandleCheck always creates TRemoteUpdateCheck with force argument set to true. Which means it does not perform a check to see if it has been a week since the last test.
An argument should be added to HandleCheck which will force the check if true otherwise first check the last update time was greater than 7 days ago.
The timer in Keyman engine keyman\app\windows\src\engine\keyman\UfrmKeyman7Main.pas should not really have been calling HandleCheck on a 5 minute timer. Currently the timer reads the registery and does the 7 day check before calling HandleCheck via -buc command line switch.
Note this will also help prepare for a new feature to track what type of check update request is being made for statistical purposes. #15421.
Background History:
The HandleCheck event for the state machine was designed to be a check now. In the first iteration it was going to be called by a scheduler of some type like Windows Scheduler.
The HandleKmShell would always also take the opportunity to check for an update if it had been less than 7 days. Due to some tweaking of the delivery of the Windows Update, HandleCheck was changed to be called on a interal timer in Keyman.exe every 5 min. HandleKmShell is not appropriate here as that event should only be called on a start or kmshell execution. Adding a argument to HandleCheck with the type of update will be the way forward.
HandleCheck always creates TRemoteUpdateCheck with force argument set to true. Which means it does not perform a check to see if it has been a week since the last test.
An argument should be added to
HandleCheckwhich will force the check if true otherwise first check the last update time was greater than 7 days ago.The timer in Keyman engine
keyman\app\windows\src\engine\keyman\UfrmKeyman7Main.passhould not really have been callingHandleCheckon a 5 minute timer. Currently the timer reads the registery and does the 7 day check before callingHandleCheckvia-buccommand line switch.Note this will also help prepare for a new feature to track what type of check update request is being made for statistical purposes. #15421.
Background History:
The
HandleCheckevent for the state machine was designed to be acheck now. In the first iteration it was going to be called by a scheduler of some type like Windows Scheduler.The
HandleKmShellwould always also take the opportunity to check for an update if it had been less than 7 days. Due to some tweaking of the delivery of the Windows Update,HandleCheckwas changed to be called on a interal timer in Keyman.exe every 5 min.HandleKmShellis not appropriate here as that event should only be called on a start or kmshell execution. Adding a argument to HandleCheck with the type of update will be the way forward.