I recently installed Microsoft ESB Guidance for BizTalk Server 2006 R2, because I needed a pipeline that could add a namespace to an XML document without namespace. When I tested it, I got the following error:
There was a failure executing the receive pipeline: "Coop.THA.ReceiptConfInventoryAdj.Rcv_ReceiptConfIntentoryAdj, Coop.THA.ReceiptConfInventoryAdj, Version=220.127.116.11, Culture=neutral, PublicKeyToken=5ef93fd4cc292df2" Source: "ESB Add Namespace" Receive Port: "TestReceiptConfInventoryAdj" URI: "C:CoopTHATestReceiptConfInventoryAdjIn*.xml" Reason: Requested registry access is not allowed.
A web search soon revealed that the pipeline component was trying to create a new event source in the application log, but was not allowed to do so. Natural, since BizTalk is running using a non-admin user.
My solution was to, using regedit.exe, assign full control on HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication to the BizTalk service user and rerun my test. On examining the registry after that, I found that the "Sources" value had been altered to include Microsoft.Practices.ESB on the first line. There was also a new subkey with the same name.