Solved: Deleting Copied Executable Files Fails - Temporarily

I had a very interesting case recently where copied EXE files could not be deleted. They would simply remain in the folder like zombies, only to disappear a few minutes later.

The issue was reproducible across reboots and even across computer models. It looked like this:

Copy some files from the Windows directory to a test directory:

Files copied

Shift-delete all files (real delete, not moving them to the recycle bin). Some or all of the executables remain:

After delete files remain

A few minutes later, the files would finally disappear:

Folder empty

Such cases are always caused by a process holding open a handle to the “zombie” file. Finding the culprit is easy with Sysinternals Process Explorer. It is unfortunate, though, if it is “System” as in this case:

Open handle in Sysinternals Process Explorer

This happened on a hardened Windows installation image where many services had been disabled. By trial and error I found the root cause: it seems that disabling the Application Experience service is not such a good idea after all:

Application experience service disabled

The Application Experience service had been disabled because the German BSI (a government institute for IT security) recommends it. Microsoft apparently does not. Better stick with what the OS vender says, I guess…

Comments

Related Posts

Streamed Video Audio Sync Problems on Windows 10 / Realtek Sound

Streamed Video Audio Sync Problems on Windows 10 / Realtek Sound
I have been watching streaming video for a very long time. It always worked beautifully, in high resolutions and from any site: YouTube, Netflix, Amazon Prime Video, you name it. Then suddenly I started to notice lip sync issues, probably around autumn/winter 2016. The longer a video played, the more the audio would get out of sync with the video, making watching and listening increasingly awkward. Recently I finally found the time to analyze these audio/video sync problems. Read on for a playback troubleshooting methodology followed by a workaround for the issue at hand.
Troubleshooting