8

Most of you should already at some point experienced this when using the Windows operating system: You want to delete a folder, Windows will gladly delete every file except that one file which is used by a sneaky program or process which you can't identify no matter what.

As a seen from a User Experience position, why doesn't Windows tell me what program(s) is / are using this specific file, so that i can decide what to do next.

This bugged for a long time as i don't quite get why this information is not provided to the user.

2
  • Windows may not know where it came from. Operating systems don't always track which programs drop files into which directory or folder. This is a technical question, not a UX one.
    – Rob
    Commented Feb 7, 2019 at 16:02
  • Arguably this is a technical question as much or more than a UX one. But it is NOT a question of which programs drop files into a directory. That is actually easy enough to determine but irrelevant here. This is not about file rights (which often, but not always, depend on which program (user really) created a file) but rather about open files which can be from a higher-level user, a same-level but different user, or even the exact same user and cause problems in Windows. Commented Feb 10, 2019 at 15:20

3 Answers 3

3

Presumably due to a technical limitation that no strong designer tried to overcome.

There are numerous 3rd-party tools that solve this particular problem, so clearly fixing this is possible and the motivation to fix this inside Windows itself is not given a high enough priority.

0

An operating system sees everything on disk as a file, a folder/directory is a file too.

There are Windows applications at Sysinternals Suite (Example: Microsoft's Process Explorer) which can help you close/delete such application/file. But using these tools (as well as 3rd party tools) is not advisable (risky); you may lose your data on next reboot.

There are reasons why Windows doesn't include an error/alert message indicating such information (showing a generic message is easy).

One of the best read I came across related to this issue is by Raymond Chen (Windows Confidential Forcing Handles Closed). Including his first paragraph..

Have you ever wanted to delete a file but couldn't because some program had the file open? The correct thing to do in this situation would be to convince the program that has the file open to close it—you could, for instance, ask the person editing the document to close it. But sometimes you get impatient and use some utility that can force file handles closed. And then you've traded temporary relief for long-term data corruption.

0

Security, or the appearance thereof

Windows is relatively secure. I know there are tons of security vulnerabilities. But, on the surface at least, Windows provides protection between users and a separate administrator (in Linux this might be called superuser, though I am sure someone will point out the numerous differences) mode.

While in many large networks (particularly government and corporate environments that are big enough to have a real IT staff and are seriously concerned about security), most users will not be running with administrator privileges, in many smaller networks, and for typical individual users, the normal way to run is as an administrator.

In an environment that supports multiple users and an administrator mode, there is protection to prevent a user from affecting another user. That protection includes not just guarding against unwanted actions (such as deleting a file belonging to another user or deleting a shared file open by any user), it also includes hiding information that could be a vulnerability. Knowing that another user on a networked system has a specific file open leaks information about their activities.

Windows is relatively naive. It does distinguish between an open file from another user, an open file from a user at a higher or lower level (user vs. administrator) or even a file open by the same user who is requesting the action. The result is that even if you are running in administrator mode, where you are allowed access to everything on the system, or even if the process that has the open file is one of your own processes, Windows reports the problem, an open file by another process, in an identical way.

Windows is also based on cooperative multitasking - i.e., processes that respond to signals from the user, other processes (where appropriate) and the operating system. When everything is working perfectly - all processes responding to requests quickly and correctly - this allows Windows to gracefully shutdown processes (preventing data corruption) and do lots of other wonderful things. When it is not working correctly, due to bugs or poorly designed programs or a program waiting for user interaction, it can result in Windows reporting a file open, but due to the security issues described above, routinely NOT saying which process.

It is also the cause of "Not responding" messages. If a program simply needs a long time to perform a task and is not written to respond to user & operating system requests while the task is being performed then you get the "Not responding" message. The program is simply "not responding". The implication is that it is "stuck" or "broken". But it might simply be "busy".

Not the answer you're looking for? Browse other questions tagged or ask your own question.