If you are using VS.Net it will create an installer class for your service for you. Bring up your server code so that you have the designer view, not the code view. Right click the designer window and you will see an option to Add Installer. This will create an installer class for your service.
You then can add a custom action in your setup project under Install. Right click the Install folder, Add Custom Action and browse to the assembly that contains your installer class. Do the same thing for the Uninstall folder. You now have an installable service via MSI. We've used it for several services and it works great. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.