Thursday, June 07, 2007
SFT Setup Project: Deploying many Guidance Packages and many DSLs with a single MSI!
Clarius SFT June CTP is available. You can check Victor's blog in order to get an overview of the new features included in this drop. One of this new features is the capability of creating a Setup Project to generate a single MSI that installs many Guidance Packages and many DSLs. Let's take a look at how this feature works:
SFT Setup Project Feature:
This new feature allows you to create a new C# or VB wix-based project selecting which Guidance Packages or DSLs you want to include in your MSI. After running the wizard you will get a single project whose output will be a single MSI.
Here is an example:
1. In this sample we have a solution that contains the following projects:
a. A class diagram DSL project
b. A minimal language DSL project
c. A GAT-based Guidance Package
d. A SFT-based Guidance Package
The SFT Setup Project wizard is launched adding a new project to the solution. You can select between C# and VB project types.
2. The wizard is very simple. You just need to select the guidance packages and DSLs that will be included in the MSI and click finish.
3. Finally a new project will be added to the solution. At this point you should be able to build the project in order to get the MSI.
Basically you will find 3 groups of files in the SFT Setup Project:
1. Main Setup files
2. Guidance Packages files: Containg a few files by Guidance Package. You can take a look at my previous post showing how each Guidance Package setup is generated.
3. DSLs files: Each DSL setup is generated in the same way as the DSL Setup Project provided by the DSL SDK does. We chose this implementation because if you already know how to customize the DSL Setup Project you won't need to expend time understanding this new feature of SFT!
(1) Main Setup Files:
SetupMetadata.items: This is the file where you can customize the metadata for Guidance Packages, DSLs and define the projects that will be built before generating the MSI.
Setup.wxs: This is probably the most important file because it contains the setup product definition, the directory tree structure, the features (or the feature references), custom actions and the UI definition.
UI.wxs: This contains the UI definition. This is probably the main file you will need to customize to include your own branding.
Strings.wxl: Wix localization stuff file.
License\License.rtf: The license file for your Guidance Package.
Bitmaps Folder: Image files for the installer wizard branding.
Where to download SFT? Follow this link! http://www.softwarefactoriestoolkit.net/
And please let us know your feedback about you want to include or improve in the next drops! You can ping us through the Guidance Automation Forum or directly to alo -AT- clariusconsulting -DOT- net.