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.