We have created a product which has 2 web services and an Web site. The webservices are simple ASMX web services and the web site is ASP.NET with lots of JS and Style Sheets. There is lots of configuration in a database, one web service is primarily used to fetch these configuration information from the database. The other web service has read only access to a third party database.

We have a few clients for this product. The deployment is becoming a nightmare with installs going on for hours. At this time most clients are in UAT or Test status, but we cannot continue like this when the product gets to production in various place.

1. What is the best way to get the product install automated ?
2. How do we set DB configuration, Updates, Alters, Create etc.. via automated deployment ?
3. What install software would be ideal for this kind of scenario.

Any advice will be helpful. Thanks.