Merge pull request #14829 from keymanapp/fix/windows/cherry-pick/14791-no-advertising

fix(windows): disable .msi shortcut advertisement 🍒 🏠
This commit is contained in:
Marc Durdin 2025-09-29 07:43:04 +02:00 • committed by GitHub
commit 1b490fa4cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -50,6 +50,30 @@
<UpgradeVersion OnlyDetect="yes" Minimum="$(var.VERSION)" IncludeMinimum="no" Property="NEWERFOUND" />
</Upgrade>
<!--
MD: 25 Sep 2025
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
-->
<Property Id='DISABLEADVTSHORTCUTS' Value='1' />
<Property Id='OLDINSTALLDIR'>
<RegistrySearch Id='oldinstalldir_search' Key='Software\Keyman\Keyman Desktop' Root='HKLM' Name='root path' Type='raw' />
</Property>