I’ve complained many times how I dislike VDPROJ and in one particular instance I blogged about how VDPROJ doesn’t expose the built-in Service Control Manager patterns that Windows Installer provides.
I dislike VDPROJ because it exposes so little of Windows Installer and encourages anti patterns at worst or extensive post-build manipulation of the MSM/MSI package at best.
However I realize that you might already be committed to VDPROJ so I thought I would point out that Phil Wilson ( Windows Installer MVP ) posted a sample C# solution that is a command line tool for defining a service in a Windows Installer as a post build step.
Frankly, I still dislike VDPROJ. However, if your going to use it, this sure beats using an Installer class custom action to register the service. Better would be if Visual Studio would just dump VDPROJ and replace it with a full blown WiX IDE WixAware maybe?