Most people use Web Setup Projects if the Web Service is simple - any dependencies (e.g. .NET Framework Installation,IIS,SQL Server,a Database,etc) will need to be installed separately by someone in advance of that Setup being run.
For more sophisticated deployments where you want to ensure certain components are on the target machine (e.g. IIS) and if not there get them installed as part of the setup process,then you can use Web Deploy.
Here are some different ways you can do it.
-
Web Setup Project
-
Web Deploy
-
MSDeploy
Here are some guides on the above tools:
-
http://blog.thinkoriginally.com/2010/02/16/visual-studio-2008-web-setup-project-web-deployment-project-and-msdeploy/
-
http://www.iis.net/download/WebDeploy
-
http://cromwellhaus.com/2012/05/build-once-msdeploy-all-over-the-place/
How to use Web Setup Project:
- http://www.codeproject.com/Articles/13698/Visual-Studio-Setups-Web-Setup-Part-I