Version 2.6 of the Deployment Framework is now available (see the download links
– the full
download, core,
and tools have
all been updated.)  Future work in this area will be about augmenting the already-great
deployment story in BizTalk 2006! 

The release notes below will (likely) only be interesting for folks that are using
the framework extensively.

Interesting Features:

  • If you populate the bizTalkHosts property with the name of the Hosts
    that you are using, the ‘servicecontroller’ nant task is used for the stop/start of
    BizTalk services, with a configurable timeout stored in the ‘biztalkHostResetTime’
    nant property. This requires recopying the BizTalk.nant.tasks.dll to
    your \program files\nant\bin directory. This alleviates the problem some users were
    having with timeouts in service restarts.

  • IISReset now uses configurable reset time from nant property iisResetTime.

  • Modified the sample application to demonstrate how you can maintain adapter configuration
    in binding files (i.e. the TransportTypeData sections) in its “unescaped” form —
    rather than having to maintain it as escaped xml-within-xml. This relies on a new
    tool – ElementTunnel.exe, which is also in the Tools download. This is a huge help with
    adapters such as MQSeries that have many configuration elements.  More on this
    in another post.


  • SSOSettingsFileImport.exe opens files with read access only, eliminating some file
    locking issues.

  • Permissions on the physical directories associated with virtual directories are now
    granted to the account specified as the application pool account (instead of just
    aspnet account.)

  • Now using NAnt .85 RC3

  • Now using log4net 1.2.9 (thanks Campbell McNeill for
    work on this!)

  • Now using the July 2005 release of WiX (thanks
    to Loren Halvorsen for work on compatibility
    with this.)

  • Now using XmlPreProcess 1.0
    RC3 (and the associated SettingsFileGenerator.xls.) One new feature here is the ability
    to use URLs that contain query strings in the spreadsheet. The name/value pair XML
    files that are generated will wrap as CDATA where appropriate. Thanks Loren!

  • Modified the sample application to demonstrate how file receive and drop locations
    can be made relative to the a) project directory on a developer workstation or b)
    installation directory on a server. This has actually be in the sample application
    before – but it relied on the xmlpoke nant task, whereas now it uses the XmlPreProcess
    mechanism we use for all other binding file modifications.

  • Modified the deployment verification unit test in the sample application to rely on
    a NUnitUtility helper class that you can pull into your own projects. One included
    method allows you to examine the event log (on multiple machines) looking for errors
    that BizTalk might have raised during the test – very handy, and a potentially important
    component of your test.

  • Support for a local_settings file used with XmlPreProcess. It can be handy to have
    an “environment specific” set of macro values that are particular to a local workstation,
    and the sample application shows how this is done now.

  • Added transforms and schemas to the list of what is re-gac’d for the updateOrchestrations
    target. See here for
    more detail. In a recent release, I made changes that allowed for the use of a single
    binding file, so that binding files as emitted by the deployment wizard could be used
    (rather than splitting them by hand, which was required early on with the Deployment
    Framework.) This was a good change…but the implementation broke the “messaging
    only” scenario (where you have no orchestrations.) I don’t have a good fix for this
    yet. The workaround is as follows: In your project’s nant file, set includeOrchestrations
    to “true” (even though you don’t have any), and define the orchestration assembly
    list to be an empty string, as shown here:

    <property name="includeOrchestrations" value="true" />

    <property name="orchestrations" value="" />

How do you upgrade?  Extract the “core” zip file on “top” of your existing project,
and then fix up the WiX directory manually (since it will be named BizTalkSample.WiXSetup
after the unzip.)  All tools and scripts will be updated as a result.  Then
test…Leave a comment with any issues you encounter.  Good luck!