Change Keyman shortcuts to standard Windows shortcuts, rather than
advertised shortcuts, to work around a problem with advertised shortcuts,
elevated custom actions, and non-admin users, as described in #14791.
The problem is related to advertised shortcuts in Windows Installer. When
you have an advertised shortcut, the first use of the shortcut triggers a
repair to prepare the app for use in the new user's context. And now, with
Aug 2025 Windows security patch KB5063878, tweaked in Sep 2025, this
triggers an elevation dialog, which the non-admin user cannot work around.
This means that the shortcuts will be regular Windows shortcut files rather
than advertised shortcuts, and are added to
`%ProgramData%\Microsoft\Windows\Start Menu\Programs\Keyman for Windows`
(so, available for all users on that machine, but will not follow a user
across machines).
* DISABLEADVTSHORTCUTS: https://learn.microsoft.com/en-us/windows/win32/msi/disableadvtshortcuts
* Shortcut advertisement: https://learn.microsoft.com/en-us/windows/win32/msi/advertisement
Relates-to: #14809Fixes: #14791
Build-bot: skip release:windows
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
# Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
# Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
fix(common): registry clean-up enabled, no terminal in github action
No longer dryrun for the registry clean-up GHA workflow
docker run doesn't use a terminal in GHA (erasing -t flag)
This change improves our `.shellcheckrc` file so that several directives are no longer needed and source files are still found. Also remove some directives that are no longer necessary, either because the changes to `.shellcheckrc` makes them obsolete, or because the lines changed so that they no longer contain the problem.
This change improves our `.shellcheckrc` file so that several directives
are no longer needed and source files are still found. Also remove some
directives that are no longer necessary, either because the changes to
`.shellcheckrc` makes them obsolete, or because the lines changed so
that they no longer contain the problem.
Also remove some shellcheck warnings.
Build-bot: skip
Test-bot: skip
fix(common): some more tests running successfully in a container
- setting KEYMAN_ROOT
- ignoring test:linux until #13887 is fixed
- tagging default containers, instead of running a second build on the same Dockerfile
Also cleans up a number of possible quoting issues and shellcheck
directives.
Note: we need to do release builds everywhere to verify that zip changes
are not going to break things.
Test-bot: skip
Build-bot: release
When building locally, code signatures will not have SIL in the name, so
will fail the build. So skip checking code signatures on local builds.
Build-bot: skip release:windows,developer
Test-bot: skip
It looks like we no longer need these lintian overrides:
- `package-contains-documentation-outside-usr-share-doc` got resolved
by excluding these directories from our source package
- the other one was a false positive that looks like it got fixed in
Debian