microsoft / microsoft/PowerToys

PowerToys 0.99.1 update hangs at "Processing: PowerToys MSI" when Explorer holds FileLocksmith extension

Open
#47,555 2 comments 2 reactions 0 assignees View on GitHub
Product-File Locksmith
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Microsoft PowerToys version

0.99.1 update from 0.97.2 per-user install

### Installation method

PowerToys self-update / per-user setup (`powertoysusersetup-0.99.1-x64.exe /passive /norestart`)

### Running as admin

No

### Area(s) with issue

Installer

It hangs here forever:

Image

### Steps to reproduce

1. Start from an existing per-user PowerToys 0.97.2 install.
2. Let PowerToys update to 0.99.1, or launch the downloaded per-user setup through the updater.
3. The setup window reaches **Setup Progress** with `Processing: PowerToys MSI` and then stops progressing.

Observed twice on consecutive mornings. A screenshot shows the `PowerToys (Preview) x64 Setup` dialog stuck at `Processing: PowerToys MSI` with the progress bar around 60% and only **Cancel** available.

### Actual Behavior

The updater/setup appears hung while processing the MSI. The current attempt has been stuck for more than 20 minutes:

```text
2026-05-01 08:27:38 PowerToys.Update.exe started
2026-05-01 08:27:46 powertoysusersetup-0.99.1-x64.exe /passive /norestart started
2026-05-01 08:27:50 MsiInstaller Event ID 1040: Beginning Windows Installer transaction for PowerToysUserSetup-0.99.1-x64.msi
2026-05-01 08:50:24 PowerToys.Update.exe, powertoysusersetup-0.99.1-x64.exe, and two msiexec.exe processes still active
```

No matching MsiInstaller transaction end event was present for the current attempt when diagnostics were collected.

The current MSI log has not advanced past `InstallValidate`:

```text
Action start 8:27:52: InstallValidate.
...
MSI (s) (...) [08:28:17:305]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'.
MSI (s) (...) [08:28:17:305]: Note: 1: 2727 2:
```

The previous attempt on 2026-04-30 eventually timed out and failed:

```text
MSI (s) (...) [08:16:31:074]: RunEngine wait timed out
Installer is no longer responding.
Info 1603. The file \PowerToys\WinUI3Apps\PowerToys.FileLocksmithExt.dll is being held in use by the following process: Name: explorer, Id: , Window Title: '(not determined yet)'. Close that application and retry.
MSI (s) (...) [08:26:53:340]: I/O on thread could not be cancelled. Error: 1168
Action ended 8:26:53: InstallValidate. Return value 2.
Action ended 8:26:53: INSTALL. Return value 2.
MSI (s) (...) [08:26:53:490]: Product: PowerToys (Preview) -- Installation failed.
Windows Installer installed the product. Product Name: PowerToys (Preview). Product Version: 0.99.1. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 1602.
MSI (s) (...) [08:26:53:506]: MainEngineThread is returning 1602
```

Bootstrapper diagnostics from the current run:

```text
DetectedPowerToysUserVersion = 0.97.2
DetectedPowerToysVersion = 0.0.0.0
DetectedWindowsBuildNumber = 26200
Detected related bundle: version 0.97.2, scope PerUser
Detected related package: version 0.97.2, operation: MajorUpgrade
Planned package: PowerToysUserSetup_0.99.1_x64.msi, execute: Install, rollback: Uninstall
Applying execute package: TerminatePowerToys ... result: 0x0
Applying execute package: PowerToysUserSetup_0.99.1_x64.msi ... MSIRESTARTMANAGERCONTROL="Disable" ... REBOOT=ReallySuppress
```

Installed package state looked partially updated afterward:

```text
PowerToys (Preview) 0.97.2
PowerToys (Preview) x64 0.99.1
PowerToys (Preview) x64 0.97.2
PowerToys MSIX context menu packages still showed 0.97.2
```

### Expected Behavior

The updater should not hang indefinitely when Explorer has a PowerToys shell extension loaded. It should either close/restart the relevant Explorer integration, prompt clearly, fail quickly with actionable guidance, or otherwise recover without leaving mixed 0.97.2/0.99.1 install state.

### OS

Windows 11 Enterprise 10.0.26200, x64

### Other Software

Diagnostics were redacted before filing: user profile path, computer name, SID, and exact local temp paths were removed/replaced with placeholders.

Contributor guide

Open the contributing guide

Research direction

Start with the PowerToys.Update.exe and powertoysusersetup-0.99.1-x64.exe flow, then inspect the MSI log around InstallValidate and the bootstrapper diagnostics for the PowerToys.FileLocksmithExt.dll lock held by Explorer. Reproduce the per-user 0.97.2-to-0.99.1 update and verify that it completes or fails quickly with actionable guidance without leaving mixed installed versions.

Written by the indexing model from the issue text.

Assessment

Domain
release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.