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.

Labels: ,


Wednesday, March 21, 2007

Clarius SFT - Wix-based Setup Projects

One of the features SFT provides is support for Wix-based Setup projects. I will show how you can use and extend it to generate a MSI for your guidance package.

Wix-based Setup

When you are creating a Guidance Package with SFT, you can choose to create a VS Setup Project or a Wix-based one as is shown in the following picture:

If you select the Wix-based option, the preview setup project will be unfolded in your solution.Let's take a look at the files that are generated by the wizard:

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), the custom actions for registering the guidance package and the UI definition.
TemplatesContent.wxs/TemplateFeature.wxs: Both files are dynamic, this means that their content of these files will be updated  every time you build the Setup Project. They will included every file inside any folder in the guidance package project output directory. 
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.
MySoftwareFactoryInstaller.config.xml: Guidance Package configuration file. For instance here you can specify here the supported runtime version.
License\License.rtf: The license file for your Guidance Package.
Bitmaps Folder: Image files for the installer wizard branding.

How it works:

The SFT Wix-based project is a standard C# or VB project (depending on what language you choose when you are creating a new MetaFactory solution). It defines the AfterBuild/AfterRebuild targets and the following import:

  <Import Project="$(MSBuildExtensionsPath)\Clarius Consulting\Software Factories Toolkit\1.0\MetaFactory\wix.targets" />

The wix.targets file contains the necessary targets to compile (Candle) and link (Light) your wix files in order to generate a MSI for your guidance package. Before that, the WixRefreshContent target is responsible for scanning all the directories in the output folder and updating the content of the TemplatesContent.wxs/TemplatesFeature files.

Customizing the Wix-based Setup Project:


There are some scenarios where you may want to customize the code that the SFT wizard generates for you. The most common scenarios could include:



I hope this post help you to understand the SFT Wix-based Setup Project structure, how it works and how you can easily customize it with a low effort. If you have any questions about this or other features in SFT you can visit the following sites/forums:


Guidance Automation.Net: http://www.guidanceautomation.net
SFT: http://www.softwarefactoriestoolkit.com/


Enjoy! 

Labels: ,


Clarius Software Factories Toolkit (SFT) February 2007 CTP is out!!

Clarius SFT Feb 2007 CTP is finally out!

The new release includes several new features and improvements. Jes has published a very interesting post describing some of them. You can also visit the SFT website to take a look at the latest videos, news, documentation, support and download it!

Some useful links:
SFT Home Page: http://softwarefactoriestoolkit.net
Support: http://softwarefactoriestoolkit.net/support.aspx
Download: http://softwarefactoriestoolkit.net/Download_Feb07CTP.aspx

Enjoy!

Labels: ,


This page is powered by Blogger. Isn't yours?