If a user was to manually check for updates via the button, the recheck
would have been fired. This is a recent regression.
I kinda want to reorganise this code (the button press for check for
udpates shouldn't even get close to the recheck code IMO) but for now
this seems like one we should quickly fix.
Addresses https://github.com/ppy/osu/discussions/29774.
Earlier I changed the restarting logic to not wait until the program
exits and instead try to facilitate restarting alone. This did not work,
and it became clear we'd need Velopack to do the restarting. This
reverts back and supposedly brings restarting logic in line with how
Velopack does it