Deploying Guidance Packages and DSLs the easy way

Let’s do a 15 seconds recap on what currently GAX/GAT and DSL Tools offer regarding deployment.

GAT: uses Visual Studio Setup projects (can you feel the pain already?) to deploy your custom guidance packages. If you don’t need anything beyond the very simply basics this setup will work nice even if you modify your guidance package sources after you created the setup, something that sounds basic enough but it’s not true for DSL Setup projects. Now, do you want to customize any part of the Guidance Package setup process with some detail? Good luck!

DSL Tools: uses WiX-based setups (hurray!) but… they’re as “static” as something can get. If you play with your DSL Tools and you afterwards create the Setup project high chances are that you end up with a non-working setup that needs manual editing, that’s not nice at all (after all: can’t you just read my DSL project at Setup creation time and play clever outputting something that works?). Even if you manage to create a working Setup (meaning basically you didn’t touch a thing from the original created DSL Package project) it will break as soon as you need any customization. Yes, you can try to learn the setup domain model that is there and update it manually every time you make a change, but... who really wants to do this?

Sounds bad enough already? Let’s complicate things a bit more. Let’s say your solution includes more than one guidance package and more than one DSL Tools, the successfully Web Services Software Factory from p&p, in its latest incarnation v3 (under development), is an example of this, last time I checked it included a couple of guidance packages and a couple DSL designers. You want to deploy this beast? Be my guest, you will only need to ask your users to install 4 or 5 different MSIs...

We notice this and took action in SFT by introducing a new SFT Setup project feature which lets you choose from all the guidance packages and DSLs found in your solution and get a single WiX-based project that generates a single MSI that will install as many guidance packages and DSLs as you wish; this is how it looks like:

 

All you need to do is a few mouse clicks, no manual editing required, auto-updating of the setup project, and no custom domain model to learn about.

Can this get even better? Let me know how: vga -AT- clariusconsulting -DOT- net.

Want to learn more about this feature? Check Adrian’s blog who developed it.

No Comments