How do I uninstall a Windows service if the files do not exist anymore?
How do I uninstall a .NET Windows Service, if the service files does not exists anymore?
I installed a .NET Windows Service using InstallUtil. I have since deleted the files but forgot to run
InstallUtil /u
first. So the service is still listed in the Services MMC.
Do I have to go into the registry? Or is there a better way?
You have at least three options. I have presented them in order of usage preference.
Method 1 - You can use the SC tool (Sc.exe) included in the Resource Kit. (included with Windows 7/8)
Open a Command Prompt and enter
sc delete <service-name>
Tool help snippet follows:
DESCRIPTION:
SC is a command line program used for communicating with the
NT Service Controller and services.
delete----------Deletes a service (from the registry).
Method 2 - use delserv
Download and use delserv command line utility. This is a legacy tool developed for Windows 2000. In current Window XP boxes this was superseded by sc described in method 1.
Method 3 - manually delete registry entries (Note that this backfires in Windows 7/8)
Windows services are registered under the following registry key.
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
Search for the sub-key with the service name under referred key and delete it. (and you might need to restart to remove completely the service from the Services list)
From the command prompt, use the Windows "sc.exe" utility. You will run something like this:
sc delete <service-name>
Notes on using "sc delete" in Windows 8:
1) Open a CMD window with elevated privileges. [Windows Key-X to bring up a menu with the option; select "Command Prompt (Admin)".]
2) Use the parenthetical name from the list in Services [for example, I used "sc delete gupdate" when, in Services, it read "Google Update (gupdate)"]