views:

29

answers:

1

Hi,

I am currently working in a project where it is having multiple asp.net web applications, windows services. Now we have a requirement that
I need to create an Setup application should do the following tasks

automatically create database,
install web applications in IIS virtual directories,
install windows services and
modify all configuration files
do necessary checks before starting deployment.


Which tool preferably open source / freeware help me in developing above setup/deployment application?

Thanks
nrk

+1  A: 

We have successfully used the Visual Studio setup tools to create setups to distrubute web applications and services (though not in the same setup).

In our web setup, we create a virtual directory (an application, actually), an app pool, and assign the vdir to use the app pool (we do some of that with custom c# code and WMI, and will look at using hte new web administration stuff in the future).

We also modify config files with our setup (we wrote c# code, and used the custom dialogs provided by the setup tool to get info from users).

A nice thing about the VS tools is that you can use c#/vb.net to write Custom Actions, and have those actions execute during setup.

For our web apps (in VS 2008), we wanted to distrubute them as compiled aspx to discourage script tampering on the customer side. So, our build process uses the asp.net webdeployment project addon (to precompile the aspx pages), and then feeds the output of webdeploy to the setup project. (the result is that we ship compiled aspx files that they cannot easily alter)

A limitation that we ran into is that the VS setup comes with a set number of "canned" dialogs that you can insert into the wizard, but there is no designer to create new ones.

If you need something more featured, have a look at WIX. I understand that it is quite good, and that it integrates well with Visual Studio. Scott Hanselman did a Hanselminutes podcast with the author/founder of WIX a little while back. It's worth a listen: http://www.hanselminutes.com/default.aspx?showID=213

JMarsch