Issue when attempting to deploy a Biztalk 2006 assembly from Visual Studio 2005
While attempting to deploy a very simple BizTalk Server 2006 (Beta 3 bits) application from my (Windows XP SP2) development machine running VSTS 2005 to my (Windows 2003 SP1) BizTalk 2006/SQL 2005 server, I received several MSDTC errors such as:
MSDTC may not be configured correctly --or-- Access Denied --or-- Failed to add resource (Luid="System.BizTalk:BizTalkAssembly", Type="MyBizTalkProject, version=1.0.0.0,....). Cannot open database BizTalkMgmtDb on server MyBizTalkServer. etc...
To resolve this issue...
First I made sure I could ping both server-->dev machine and dev machine-->server with their NetBios names to that was working. (If that doesn't work you may have to your ICMP setting are set to allow ping requests and also "Enable NetBios over TCP/IP" via your Network adapter's TCP/IP Properties/Advance (button)/WIN (tab).
Second I ensured that both the (biztalk and sql) server and (vsts) developer machine had all the appropriate MSDTC settings as follows:
To enable DTC access for Windows Server 2003 with SP1 or Windows XP with SP2, do the following:
- From the Start menu, click Control Panel, double-click Administrative Tools, and then double-click Component Services.
- Expand Component Services, and then expand Computers.
- Right-click the computer you need to set, and then select Properties.
- In the Properties window, select the MSDTC tab.
- In the Transaction Configuration area, click Security Configuration.
- In the Security Settings area, select the Network DTC Access check box.
- In the Transaction Manager Communication area, select the Allow Inbound and the Allow Outbound check boxes.
- Click OK to close each open dialog box.
- Restart your computer to enable the remote DTC option.
To enable DTC access for Windows Server 2003 without SP1, do the following:
- From the Start menu, double-click Control Panel, double-click Administrative Tools, and then double-click Component Services.
- Expand Component Services, and then expand Computers.
- Right-click the computer you need to set, and then select Properties.
- In the Properties window, select the MSDTC tab.
- In the Transaction Configuration area, click Security Configuration.
- In the Security Settings area, select the Network DTC Access check box.
- In the Security Settings area, select the Network Transactions and Network Clients check box.
- Ensure Allow Remote Clients is selected, and ensure No Authentication Required is selected.
- Click OK to close each open dialog box.
- Restart your computer to enable the remote DTC option.
When I completed this task, my MSDTC errors were still not resolved and could not deploy the BizTalk assembly, so I attempted to test my DTC connections from both the server and developer machine using DTCPing.exe which did little but reconfirm that I was have Access Denied and DTC binding issues.
Finally After playing around with disabling my firewall and antivirus (which worked, but temporarily left my computer vulnerable), I completed the following steps to get everything working:
Configure Windows Firewall to include the MSDTC program and to include port 135 as an exception. To do this, follow these steps:
Configure Windows Firewall to include the MSDTC program and to include port 135 as an exception. To do this, follow these steps:
a. | Click Start, and then click Run. |
b. | In the Run dialog box, type Firewall.cpl, and then click OK. |
c. | In Control Panel, double-click Windows Firewall. |
d. | In the Windows Firewall dialog box, click Add Program on the Exceptions tab. |
e. | In the Add a Program dialog box, click Browse, and then locate the Msdtc.exe file. By default, the file is stored in the Installation drive:\Windows\System32 folder. |
f. | In the Add a Program dialog box, click OK. |
g. | In the Windows Firewall dialog box, click to select the msdtc option in the Programs and Services list. |
h. | Click Add Port on the Exceptions tab. |
i. | In the Add a Port dialog box, type 135 in the Port number text box, and then click to select the TCP option. |
j. | In the Add a Port dialog box, type a name for the exception in the Name text box, and then click OK. |
k. | In the Windows Firewall dialog box, select the name that you used for the exception in step j in the Programs and Services list, and then click OK. |
This worked and I was able to successfully deploy my BizTalk application!!!