Sunday, 31 May 2009

Speaking at SkillsMatter Open Source .NET Exchange III

image I’ll be doing a short spot about the Web Platform Installer and msdeploy at the forthcoming SkillsMatter Open Source .NET Exchange evening here in London on July 16th. It’s a kind of “bonsai conference” where we get through six or seven fifteen-minute topics in one evening, giving a sort of whirlwind tour of what’s new and what’s cool in the open source .NET development world.

The Web Platform Installer (below) is a slick GUI installer that’ll download and configure everything you’ll need to get started building and hosting web apps on Microsoft systems – if you’re just getting started with web development, or you want to check out one of the popular open-source frameworks like Subtext, Drupal or DotNetNuke, it’ll set up everything you need in a couple of clicks, including Visual Studio Express, SQL Server express, PHP, and whatever else you’ll need to run your chosen apps and frameworks. And yes, it really is as quick and easy as the screenshot makes it look.


msdeploy is the command-line packaging and deployment engine used internally by the Web Platform Installer, but you can also use msdeploy directly to update, package, publish and manage your own servers. It’ll let you publish updated files, configurations, virtual directories, script handlers – basically your entire web application, set up and ready to run –between servers. We’re using it to publish changes from our staging server to our live servers, and it’s an absolute delight to work with.

We’ve also got Ian Cooper talking about Boo, Scott Cowan talking about the Spark view engine, David Ross on MPI.NET, Gojko talking about acceptance testing with  Concordion.NET, Phil Trelford showing off units of measure in F#, and Seb talking about his rapidly-evolving REST framework, OpenRasta. It should be a good evening with plenty of time for food, beer and chat with like-minded developers. The last one was extremely popular so if you want to come along, please register and we’ll see you there.


Sam said...

Have you got time for a couple of questions on MSDeploy?

How well can it handle database upgrades where you want to change the schema but preserve existing data?
And do you think it's suitable to use for installing a website/webservice to a customer's server in a similar way to an MSI package?

Dylan said...

Hi Sam,

Re: database upgrades - no. Although I've not used msdeply's database plugin personally, I've done a bit of digging and it looks like msdeploy is designed to install databases, not to migrate them. For this kind of task, I'd personally recommend Red Gate's SQL tools - they cost, but they're worth every penny.

As for packaging and deploying, yes. You can capture your running website (files, config, IIS settings, everything) into a .ZIP file using a command something like:

msdeploy.exe -verb:sync -source:appHostConfig="" -dest:package=d:\package.zipand then at the far end, do the reverse - dest:appHostConfig=""The archive appears to include hard-coded paths and so on, so I'm not sure (yet!) what to do if you've packaged an app hosted on your D: drive and you're deploying to a customer who hosts on X: - but if you've got a local server set up to replicate your customers' live environment, you should be laughing.