microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
107.25k stars 6.32k forks source link

File Locksmith doesn't detect locked folders #32962

Open Camios opened 1 month ago

Camios commented 1 month ago

Microsoft PowerToys version

0.81.0

Installation method

GitHub

Running as admin

No

Area(s) with issue?

File Locksmith

Steps to reproduce

Tried to rename a folder (probably similar if trying to delete a folder) Windows advised it couldn't because it was being used by another process In File Explorer right-clicked the folder and selected Unlock with File Locksmith

✔️ Expected Behavior

Locksmith should be able to identify the process holding the lock on the folder for the user (and offer to terminate or locate the process).

❌ Actual Behavior

File Locksmith failed to find any processes using the folder!

Instead, I installed and ran alternative software Lock Hunter, which found the offending process; was able to terminate it; and I was able to remove the original folder.

Other Software

No response

github-actions[bot] commented 1 month ago

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Open similar issues:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

Camios commented 1 month ago

Also seen in older version 0.79.0

jaimecbernardo commented 1 month ago

Thinking we're only checking files 🤔 Not folders. That might be the issue here.

PolarGoose commented 1 month ago

@Camios, did you try to run File Locksmith as an Admin?

Camios commented 1 month ago

Oh, does it have a limited scope of only checking/showing un-elevated processes for the current user? That would be unfortunate. What's the correct way to run File Locksmith as an admin - does PowerToys have to be elevated and then when Locksmith is run it is automatically elevated?

PolarGoose commented 1 month ago

By default, it only checks the handles from the current user because it doesn't have access to other handles. You can use this button to make FileLocksmith show all handles: image

Camios commented 1 month ago

That button and the behaviour are unintuitive. It would be much more user-friendly if it defaulted to showing any process locking the folder, regardless of the user. That's because the user knows it is locked and needs to know what is locking it. The user never wants processes that are locking the file to be hidden.

PolarGoose commented 1 month ago

@Camios, Valid point. Then please create a feature request. Is the bug still relevant? Can it be caused by the fact that the file was locked by an elevated process, which is why it wasn't shown by FileLocksmith?

Camios commented 1 month ago

Compared to other lock finders and general user expectations, I'd still class this as a bug. If the devs implemented what they were asked to do then the "bug" is in the design or the requirements (product management).

Falls under the "unexpected behavior" definition of a Bug?

PolarGoose commented 1 month ago

Logical. However, for example, Sysinternals Handle works like FileLocksmith. It only shows all handles if you run it as an admin.

I'm not a FileLocksmith maintainer, so I won't judge whether it should be a bug or a feature request. However. I have implemented my clone ShowWhatProcessLocksFile. It must also be run as an admin to show all handles. I consider this behavior reasonable. However, your proposal is also valid.