Skip to content

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

Open
@avjts

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.

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-BugSomething isn't workingProduct-PowerToys RunImproved app launch PT Run (Win+R) WindowResolution-Fix CommittedFix is checked in, but it might be 3-4 weeks until a release.Run-PluginThings that relate with PowerToys Run's plugin interface

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions