A while ago I noticed Silverstripe and Drupal had been added to the new Microsoft Web Gallery for installing on Windows platforms – this installer looked really easy for people to use, so I wondered how much it would take to put one together for Moodle!
Here’s the result: http://www.microsoft.com/web/gallery/Moodle.aspx
If you’re running windows you can click the following button to trigger the install!
Early on the documentation seemed a bit on the limited side, but has improved a bit now and the Web Application Team from Microsoft were very helpful! – to see the scripts that build this package see: http://cvs.moodle.org/contrib/tools/m4wpi_builder/ thanks to some help from Eloy, the package is being rebuilt each month with the latest weekly build. It’s not an automated process getting the links in the Web Gallery updated though, so I expect it to take a bit of time before the Microsoft site is updated each month with the new build.
The packaging works a little like the LAMP installer for Windows, but it installs IIS/FastCgi/PHP instead. It doesn’t “automatically” install MySql but it does install the MySql odbc drivers, and it’s very simple to install mysql seperately.
The WebPI Packaging process doesn’t allow configuration of folders outside the webroot which can be a problem as the moodledata folder should really sit ouside the webroot for security and shouldn’t be accessible via an http request – IIS 7.0 allows you to prevent this by using a web.config file to prevent the access – IIS 5/6 doesn’t use the web.config in this manner, but the MS team have pointed me to this posting which will allow the same thing to be achieved – I haven’t implemented this yet, but will have a look at some point and try to include it in the package.
The other issue I came across is that there’s no easy way to determine the url that will be used to access the site on someone’s machine – according to some friendly help from the Microsoft Team:
Generating a wwwroot automatically is always challenging. The WebPI doesn’t do it because there’s no consistent way that the WebPI can know exactly which applicable host name you want to be used for your application. There may be any number of legitimate host names for your server.
To get around this, the Moodle config file used by the package uses a combination of $_SERVER[‘SERVER_NAME’] and $_SERVER[‘SERVER_PORT’] however this may cause issues in the long term….but it would be relatively easy for someone to configure this manually post-install if needed.
At the moment – the package I’ve put together only supports installation with MySql, but it’s possible to allow users to choose between MySql and MS Sql during installation – When I get some free time, I might look at how easy this would be to add!