When I am trying to patch a server with .Net processes running, MSI and other applications can usually rename the running assemblies to place new ones in the same location.
On one server, I can't: When using MSI on this computer, restarts are required. In File Explorer, attempts to rename the files results in a sharing violation. The same app running on the same OS and antivirus on a different machine is able to be patched in place without issue.
The action cannot be completed because the file is open in App.exe
Close the file and try again.
[Try Again] [Cancel]
Comparing the open handles using Sysinternals Process Explorer shows that the process is taking a "File" lock on each assembly on the server in question.
Why can't I replace the running file while the process is running on this server?