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.