So, what would seem to be a simple problem, automating the build of an MSI on the TFS build server – using a Microsoft .vdproj setup project type should be a doddle.
Add a new build configuration (cunningly called ‘Setup’) ensure it’s building the setup project, create a build configuration to build the ‘Setup’ configuration, and attempt a build!
Works fine locally.
Ok, let’s do some quick googling – there appear to be 2 (maybe 3) options:
1. Install VS2010 on the build server – make a custom call out to VS to perform the build of the MSI
2. Learn WiX – and call this from the build server
3. (Maybe) Investigate the InstallShield Limited installer that comes with VS2010 and see how that integrates with the Build Server (it supposedly does, but a limited investigation has shown no real help on this front)..
Personally I’m a bit loathe to install VS on the build server, I’d rather it was a clean server, so that rules out 1 initially (though time constraints – as always - may change this).
WiX whilst looking useful appears to have a learning curve akin to the North Face of the Eiger (or El Capitan for those in the States :)), whilst this isn’t a problem in itself, quite frankly the ROI of learning WiX vs. installing VS seems hard to justify.
Which leads me to option 3 – the might be possible, but equally could be a waste of time punt..
Well. Why not?