Commit graph

14 commits

Author SHA1 Message Date
Marc Durdin
35c82ea128 fix(windows): handle invalid package names during install
Fixes #4886.

This patch includes 5 separate fixes for the various scenarios we
encountered during package installation.

1. RunTools.pas: don't attempt to install TIPs if package is not also
   being installed.

2. Keyman.Setup.System.OnlineResourceCheck.pas, OnlineUpdateCheck.pas:
   handle online update check for packages with spaces or periods in the
   id (legacy packages only).

3. Keyman.Setup.System.InstallInfo.pas: Handle browsers renaming
   downloaded files with `(n)` and `[n]` patterns as well as the current
   ` (n)` pattern.

4. Keyman.Setup.System.InstallInfo.pas: Handle browsers renaming
   downloaded files with `_n` pattern. See code comments for details.

5. Keyman.Configuration.System.TIPMaintenance.pas: Avoid crashing if
   `kmshell -install-tips-for-packages` is passed an invalid package
   name.

The crash is actually fixed in point 5 above, but the root causes are
addressed in the other points.
2021-04-19 08:25:31 +10:00
Marc Durdin
d6290e6373 fix(windows): Show full version with tag in Setup
Fixes #4041.

Show the version with tier and build flags in Setup so that it is clear
which version of Keyman will be installed, as the Keyman version can be
distinct from the setup.exe version.

Constructs the version tag from version+stability data in the
UpdateCheckResponse and uses a new MSI property called VersionWithTag
for Windows Installers. Older MSIs will still show a.b.c.d versions
instead of the tagged version if they are checked locally (as opposed to
online), because the new VersionWithTag property will not be present.
2020-12-17 15:01:37 +11:00
Marc Durdin
d87aa19868 feat(windows): major version upgrades
Relates to #1635.

This goes with keymanapp/api.keyman.com#122, and ensures that major
upgrades are offered regardless of the rollout schedule, if they are
available, when the user manually checks for an update.
2020-11-16 14:33:40 +11:00
Marc Durdin
2697535b28 fix(windows): make sure silent is actually silent for setup 2020-07-23 07:26:23 +10:00
Marc Durdin
d569e7880d feat(windows): setup select tier from filename or parameter 2020-07-20 09:23:57 +10:00
Marc Durdin
72b526d302 fix: remove large dependencies
Setup had some large dependencies which were little needed.
Refactored to remove those and replace with only what we use.
2020-07-14 07:21:06 +10:00
Marc Durdin
262b02767e
Merge branch 'feat/windows/setup-online-bootstrap' into feat/windows/setup-code-cleanup 2020-07-09 09:00:36 +10:00
Marc Durdin
4cbaca5c3e chore(windows): code cleanup
Fixup constant strings; remove old dependencies; add update param
2020-07-08 11:05:52 +10:00
Marc Durdin
8a1d7517e8 chore(windows): address review comments 2020-07-08 07:15:48 +10:00
Marc Durdin
d1fb87a6f9 chore: cleanup 2020-07-06 15:18:00 +10:00
Marc Durdin
967f8df353 feat(windows): Replace http downloader and bug fixes
Uses THTTPClient standard library instead of (very old) THTTPUploader,
and prepare to remove UfrmDownloadProgress in a future PR.
2020-07-06 09:15:03 +10:00
Marc Durdin
08f9f30b95 fix: temp path and download api params 2020-07-04 07:22:45 +10:00
Marc Durdin
a0c0141092 feat: more work towards bootstrap 2020-07-03 13:42:12 +10:00
Marc Durdin
268ec6ce3c feat(windows): Keyman Setup online bootstrap
This starts the refactoring of Keyman Setup for Windows
for a more online-first bootstrap approach for bundling.
For users who are offline, the traditional bundled approach
works, as does throwing package files into the same folder
as setup.exe. This makes the whole installer much simpler
to deploy and test.

At this stage, there are a lot of rough edges, so need to
refine these, including setup strings, language choices,
and error and logging management.
2020-07-01 20:59:25 +10:00