The ESB Toolkit 2.0 install is still a painful process and I have often asked if there was an easier way to do it to get more out of it. Use of the ESB pipeline components is particularly helpful in some situations but it is a little annoying to go through all of the ESB Toolkit setup steps just to use the pipeline components. So I think I have found a usable workaround. On a recent project I was using one of the ESB Toolkit 2.0 pipeline components for removing a namespace from an Xml file, but I decided to try an limited deployment of the ESB Toolkit 2.0.
I found that it is possible to do an limited deployment of assemblies for the pipelines as long as all of the dependent assemblies can be found. I recognize this is not an ideal or officially supported configuration but I found it to be a much quicker deployment. Obviously you cannot take full advantage of the ESB Toolkit’s features if you do not install everything but if you happen to just need to use one of the pipeline components then this post should enable you to be successful quickly.
Here are the basic steps of what I describe as a limited ESB deployment:
- Build all BizTalk projects with custom pipelines using the ESB Toolkit components
- Copy all compiled BizTalk assemblies and referenced ESB assemblies to the BizTalk pipeline components folder (usually C:Program FilesMicrosoft BizTalk Server 2009Pipeline Components)
- GAC all compiled BizTalk assemblies and referenced ESB assemblies
- Add BizTalk assemblies and ESB pipeline component assemblies to relevant BizTalk application
To determine all of the dependent assemblies for an assembly, I open it in Reflector and then expand the references item. This shows the immediate references and lets you drill deeper from there into references of references. This is a handy way to get a quick list of dependent assemblies. To save you the time of doing this again for the ESB Toolkit, here are the referenced assemblies for the ESB Toolkit 2.0 pipeline components. You can just copy and paste these to rapidly deploy the ESB pipeline components with your BizTalk assemblies:
Pipeline Component assembly: Microsoft.Practices.ESB.Namespace.PipelineComponents
By just deploying a small number of the ESB Toolkit 2.0 assemblies I was able to take advantage of the really handy functionality provided with the Toolkit without spending a considerable amount of time getting the toolkit installed and configured.