I’ve just ended the development of a web application that needs to be run on local school networks. The application is written in ASP.NET using the MVC 4 framework. The database it uses is a local database file that has to be copied and run on the local server.
The application consists of a school management system, to be deployed on a local server in many primary and secondary schools in a developing country, where the IT staff is not that skilled with IT and a difficult setup procedure might be form turn out to be a problem. To make this deployment easy I thought of creating an msi package that also contains a configured version of SQL server express that runs the DB and an IIS server. I could also make a manual on how to install all of these things but the msi or another prepackaged deploy should make it easier for the IT staff to deploy.
Is it possible to do this and if so, what should be the best msi-packaging program I can use to capture these changes? Are there any other approaches that I should consider and that would be possible? Are there any other approaches that might be easier or better than the one i intend on using?
You could achive all of this using Wix (http://wixtoolset.org/)
We use this tool to create & seed databases and install sites in IIS.