Using BTDF Framework, can i deploy 2 Apps using same custom pipeline Components

Rahul A 61 Reputation points
2021-03-03T22:47:35.86+00:00

Hi,

I have 1 Biztalk server and I want to deploy 3 applications using BTDF generated MSI file, which use the same Custom Pipeline Components.

Is it possible to deploy in such scenario where 3 apps use the same custom pipelines. Or each application should have its own custom pipelines ( different names).

When I try to do the deploy with using the same custom pipeline components, I get this below Error. I am new to btdf and not sure where to set the redeploy flag.

Information: PerformingEndChangeRequestsWithRollBack
* Performing EndTypeChangeRequest for resource type "System.BizTalk:BizTalkAssembly".
EXEC : error : Failed to add resource(s).
Resource (-Type="System.BizTalk:BizTalkAssembly" -Luid="My.CustomReceivePipeLine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3fd4c15c4a7096e8") already in store.

  1. Use BTSTask's overwrite flag or
  2. Set redeploy flag to true in BizTalk Project or
  3. Click overwrite all checkbox in Admin MMC
    to update if the resource exists in the specified target application "XYZ".
    Overwrite flag will be ignored if the resource is associated with another application.
Microsoft BizTalk Server
Microsoft BizTalk Server
A family of Microsoft server products that support large-scale implementation management of enterprise application integration processes.
358 questions
0 comments No comments
{count} votes

Accepted answer
  1. Colin Dijkgraaf 1,346 Reputation points
    2021-03-04T19:25:21.657+00:00

    You have the following options

    1) Don't GAC the pipeline components, just deploy them to the Pipeline Component folder.
    Advantage. No GAC conflict.
    Disadvantage: Might cause an unexpected issue when making a change impacts another application than what you are making the change for.
    2) Create a common application where you deploy the Pipeline Component DLLs to, and then have the other Applications Reference that one:
    Advantage: Only deploy the Pipeline Components once:
    Disadvantage: You need to undeploy all referencing applications when you want to update them, or you need to change the Assembly Version number and do a side by side deployment (having more than one version deployed) and then update the applications that need the updated version.
    3) As you said, have each application have a copy of it with it's own name:
    Advantage: No GAC conflict:
    Disadvantage: Duplicated code, and you make have to make fixes in multiple versions.

    So yes "Is it possible to deploy in such scenario where 3 apps use the same custom pipelines" is option 2
    And yes "Or each application should have its own custom pipelines ( different names)." is option 3.


0 additional answers

Sort by: Most helpful