I was supposed to blog about this sometime last year when we we’re called in to be standby engineers for a large government organization in Singapore as they were trying to change their hardware for one of their SQL Server clusters (I had another similar incident today which reminded me to blog about it). When they didn’t get the chance to successfully move to the new hardware, they rolled back their changes. Unfortunately, even their rollback process was screwed up as they couldn’t bring up the services after doing a restore of their backup. Looking at the services applet in Windows, we couldn’t start the service at all. It looks like their backup software was not able to resolve the long names in Windows, thus, introducing the tilde (~) character in the location of the executable for the service. The workaround for this is a registry hack. You can remove or change settings in your service by looking at this registry key
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
Look for the service name and update the ImagePath key to the correct parameters that you would need for your service. In case you’re thinking of deleting a service when it was not properly uninstalled or when it is totally screwed up, you can use the Windows command line tool sc to do the trick
Please note: I reserve the right to delete comments that are offensive or off-topic.