Description
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.
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
Activity