Search code examples
biztalkbiztalk-deploymentbtdf

How do I update BizTalk solution using BTDF


When using BTDF and deploying the original deployment using installer package generated, existing application is deleted and new one is created, deleting history of orchestration execution.

This would be a potential issue for our Organization as we require recent completed orchestrations for auditing/debugging when and if required.

Is there a way around this limitation in BTDF?


Solution

  • No, once you undeploy an application the tracking data is gone. You have a few options:

    1. Configure a custom target in BTDF before application undeploy to back up the relevant data from the Tracking Database. I wouldn't recommend this. It would take some effort to figure out and be difficult to get working properly.
    2. Configure your orchestrations to do custom logging (to a database) for auditing purposes. This would be more portable and sustainable, but involve more effort.

    Either way, you should be keeping backups/archives of application if there's a need to debug a historical version. At the risk of missing the obvious, this debugging and tracking should be done in your DEV environment - which should be kept in sync with your PROD and QA/TEST environments.


    One other more radical possibility would be to modify the default BizTalkDeploymentFramework.targets file for BTDF to add an option to use the -Overwrite flag in any instance where BTSTask.exe is used. However, to do this you would have to ensure that any orchestration you were updating was unenlisted before trying to overwrite it. There's a sample of how to automate this task in the SDK:

    C:\Program Files (x86)\Microsoft BizTalk Server 2013\SDK\Samples\Admin\WMI\Enlist Orchestration

    Doing this, however, would obviously be required on every machine where BTDF was developed, and would need to be redone should it not be supported in a future release of BTDF.