Updates
How each program finds a new release of itself, how it decides to trust it, and what it does when you agree to install it.
What happens
Two minutes after it starts, and once a day after that, each program reads its own update channel on this site:
Keyward Desktop reads the Keyward Desktop channel, the command line its own. You can ask at any time: in Keyward
Desktop with Help › Check for updates, from the command line with keyward update check.
When a newer release exists, the program says so: Keyward Desktop in a notification and in its menu. Nothing is downloaded and nothing is installed until you choose to. You can also skip a version: it will not mention that one again, and will tell you about the next one.
The two programs are updated independently. A new command line does not require a new Keyward Desktop, and the other way round.
How a release is trusted
A program uses a release only when all of these hold:
- The manifest's signature is valid, and was made with a key that is compiled into the program you are running.
- The manifest is well formed, and is for this program, for your channel and for your platform. A manifest for the other program, however genuine, is not applicable.
- Its version is strictly newer than yours. An old release, however genuine, is never offered, so nobody can take you backwards to a version with a known fault.
- A pre-release is offered only to an installation that follows the preview channel.
Then, when you choose to update:
- The installer is downloaded, and checked against the size and the SHA-256 in the signed manifest. A file that does not match is deleted.
- The file is held open against changes from that check until the installer has started.
Where the files came from is no part of this. The channel is read over HTTPS, and this site requires an entitlement to read it, but the release would be refused just the same if a genuine server handed out a forged file. The signature is what is trusted. The release key itself is kept in a vault and has never been on a workstation or on this site; only its public half is compiled into the programs and printed on Verify a download.
Installing
Installing closes Keyward Desktop, stops and restarts the Keyward Service, runs the installer, and starts both again. Administrator rights are needed, because a service is replaced. The vault is not touched: it is a file under the Service's account, encrypted under the TPM key, and an update changes the programs, not the vault.
Channels
| Channel | What it carries |
|---|---|
| stable | Releases. This is what every installation follows unless you change it. |
| preview | Releases and pre-releases, whichever is newest. Less tested. Your license must include it. |
If updates do not arrive
| What the program says | What it means |
|---|---|
| Updates come to installations that are activated… | Activate it: Help › License. See Licenses and seats. |
| This installation's entitlement does not include that channel of releases | Your license does not include the channel the program asked for. Tell us. |
| Could not reach keyward.exprezoe.com: … | The computer cannot reach this site. The program will try again later. |
| The update information from keyward.exprezoe.com was ignored: … | The manifest's signature was not valid. Nothing was installed. Please tell us. |
| The download does not match the release's SHA-256; it was discarded. (or: ended early, is larger than the release's installer) | The installer was not the one the release names. The file was deleted. Try again, and tell us if it repeats. |
You can always install a release by hand: download it from the downloads page, verify it, and run it over the version you have. Your vault, policy and settings are kept.
For administrators
The programs read their channel from this site only. A mirror is designed for and not built.