views:

91

answers:

2

Hello all. I am just throwing this out for thoughts from the community.

We are creating an installer for a web application that will be installing our web application and provisioning a database. The database can be on the web server or a remote machine. We will also give the users an option to point to an existing database. The installer would enable web farm deployments by allowing the user to install the solution on each of the web servers and just point to the existing database.

However, this installer is targeted at non-technical people. As a result, we are trying to make it as easy as possible but also accomodate for any environmental variances (web sites, virtual directories, database locations, etc).

Does anyone have any thoughts on creating an esy non-techincal installer which also allows the flexibility that may be required?

Should we force the user to pick an exisitng WebSite or create a new WebSite?
Do we just assume the website exists and install in a virtual directory? What kind of pre-req checks should we be checking for? The app relies on ASP.NET 3.5 and SQL 2005/2008.
Should the app fail if a pre-req check fails? etc, etc.

Thanks!

+1  A: 

You could offer a "Default Install" and a "Custom Install".

Default would be the bare minimum user input required to set it up, and with Custom you could offer every single one of the options you mentioned above. Ideally you would want a non-technical user just to click "Finish". (i.e. Default to create new website on localhost with provided sql db)

As for checking requirements, yes the install should fail if a prereq is not found. I think the more specific and verbose you are there the better off you'll be down the road. If you can give detailed error messages, or even a way for the app to phone home if the user wants to report the error, that would make troubleshooting the problem much easier.

The type of prereqs you check for would depend on what options they choose. Verify the website exists, the framework version is right, and the sql version is right.

Mxyzptlk
A: 

Prerequisite checks to consider

  1. Windows version and IIS presence
    As far as I'm aware ASP.NET depends on IIS which will work on either XP Pro or Server editions of windows provided it is installed
  2. User groups
    The user running the installer must have sufficient privilages to configure the web server.
  3. The required version of the .NET Framework is installed and the site is configured to use that version of ASP.NET
  4. The required database server is installed and the credentials used to access the server have the neccessary pemissions to create and/or attach the database. It can be that a user will have permissions to configure IIS but not the database,
Crippledsmurf