Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PowerLauncher.exe causes other running MSI installers to fail to set up the shortcut #34391

Open
avjts opened this issue Aug 22, 2024 · 1 comment
Labels
Issue-Bug Something isn't working Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams

Comments

@avjts
Copy link

avjts commented Aug 22, 2024

Microsoft PowerToys version

0.80 or 0.83

Installation method

GitHub

Running as admin

Yes

Area(s) with issue?

PowerToys Run

Steps to reproduce

This is a race bug, so there are machines that do not experience it and those that are highly repeatable. In our case we saw it on many Windows 10 Home machines and on Windows 11 sandbox, more often during upgrade, rarely during clean install, and using msi installer rather than an exe bundle.
To reproduce PowerToys.PowerLauncher.exe bug we need msi installer that installs an application that shows "toast notifications". Such app needs a shortcut with two extra attributes:

 <Shortcut ... >
   <ShortcutProperty Key="System.AppUserModel.ID" Value="..."/>
   <ShortcutProperty Key="{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 26" Value="..."/>
 </Shortcut>

There are many such apps out there, and I guess many of them experience the issue and have trouble pinpointing the root cause, e.g.: microsoft/WSL#11276

Steps:

  • You'll need Windows 11 sandbox
  • prepare an msi installer that install a shortcut with toast notification attributes. I prepared such: https://github.com/avjts/powerlauncher-bug, clone it and build. It contains a Readme. Most likely you'll need a couple of such installers with increasing version numbers, as it is more likely to reproduce the bug during updgrade.
  • confirm PowerToys.PowerLauncher.exe is running
  • start MyEmptyApp-3.6.285.msi, then MyEmptyApp-3.6.295.msi, and so on, until you see a message box with "Warning 1946 ..."

In the procmon log (screenshot below), you can see PowerLauncher.exe opens MyApp.lnk in share-read mode. Then during PowerLauncher is reading .lnk contents (50ms) two other processes try to access .lnk. Microsoft Defender queries the file and msiexec tries to set attributes in exclusive mode, and they are denied.

procmon-powerlauncher-bug

If you deactivate the "PowerToys Run," the problem will disappear.

Problably PowerLauncher.exe should postpone its actions a bit to allow msi installers to finish their job.

✔️ Expected Behavior

PowerLauncher.exe running in the background must not interfere msiexec installing shortcuts with shell attributes.

❌ Actual Behavior

PowerLauncher.exe running in the background opens shortcut files created by msiexec and blocks subsequent operations performed by msiexec.

Other Software

sample installer, that may help to reproduce the bug: https://github.com/avjts/powerlauncher-bug

@avjts avjts added Issue-Bug Something isn't working Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams labels Aug 22, 2024
Copy link

We've found some similar issues:

If any of the above are duplicates, please consider closing this issue out and adding additional context in the original issue.

Note: You can give me feedback by 👍 or 👎 this comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Bug Something isn't working Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams
Projects
None yet
Development

No branches or pull requests

1 participant