There may be several causes which lead to the service being stuck in “marked for deletion”. - #4 Usually solves it for me
-
SysInternals' Process Explorer is opened. Closing it should lead to automatic removal of the service.
-
Task Manager is opened.
-
Microsoft Management Console (MMC) is opened. To ensure all instances are closed, run taskkill /F /IM mmc.exe
.
-
Services console is opened. This is the same as the previous point, since Services console is hosted by MMC.
-
Event Viewer is opened. Again, this is the same as the third point.
-
The key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{service name} exists.
-
Someone else is logged into the server and has one of the previously mentioned applications opened.
-
An instance of Visual Studio used to debug the service is open.