When developing a service you will probably find yourself installing and uninstalling it repeatedly. Sometimes the uninstall code created by a visual studio setup project fails, and I cannot install a new service over the top of the old one by changing the product code (any suggestions?).
Although you can try deleting registry entries to remove a service this has proved unreliable for me. Instead I tend to use the Service Installation Wizard (srvinstw.exe) that comes with the Windows Resource Kit to uninstall the offending version of the service at that point. Despite its name this wizard has both install and remove options and offers you a pick list of services to find the offending item from.
Just another ‘note to self’