I'm trying to add a web setup project for my web services project to make a reasonably complex installation easier for the end user. But the defaults are getting in my way and I'm not sure how to adjust them.
My requirements are:
- Create a new website & app pool
- When creating the new app pool, needs to be set to .Net 4, classic mode with user selectable user account to run the app pool
- Install the web service to a custom path under
C:\Program Files\<comapany name>\Services
folder to meet company standards - Create a SQL database adding a login & db_datawriter roles to the account selected for the app pool
- Run SQL statement to build initial database
Creating a SQL database and Logins (4 & 5) seems possible through Custom Actions as I'll get to run my code at install time. But the web setup project by default only allows users to select from existing websites and app pools (1 & 2) and doesn't seem to allow me to customise this process except to add an image, this also means that the physical path for the selected website is used.
An option would be to create a suitable website & app pool prior to installation and remove it if it goes unused, then the user would simply need to select the website/app-pool I've created for them (not ideal but..) but there isn't a pre-installation step for me to attach such custom code to and I'm not sure how to interface with IIS reliably & programmatically.
Can anyone suggest the best way for me to approach creating the installer outlined above as I don't think web setup projects are fit for purpose at this stage, but would prefer not to have to waste a day learning WIX or NSIS.