У меня есть сценарий msbuild, который пытается создать и развернуть приложение BizTalk на удаленном сервере. Я использую следующую задачу:
<MSBuild.ExtensionPack.BizTalk.BizTalkApplication TaskAction="Create" MachineName="$(BizTalkServer)" Applications="$(BizTalkApplicationName)" />
При попытке развернуть на удаленном сервере я получаю следующую ошибку
ошибка: COMException: регистрация приложения не удалась, так как приложение уже существует.
Но это не так, приложения не существует.
Поиск в сети приводит к следующей ссылке, предлагающей установить свойства MSDTC: " rel="nofollow noreferrer">http://social.msdn.microsoft.com/Forums/sa/biztalkediandas2/thread/251250c1-3f95-4457-8fbc-0274c722c7b0
Но DTC был настроен следующим образом как на локальном, так и на удаленном сервере:
Также стоит отметить, что я запускаю две другие задачи на удаленном сервере BizTalk, чтобы проверить существование приложения и адаптера WCF-SQL. Оба преуспевают.
<MSBuild.ExtensionPack.BizTalk.BizTalkApplication TaskAction="CheckExists" MachineName="$(BizTalkServer)" Application="$(BizTalkApplicationName)">
<Output TaskParameter="Exists"
PropertyName="ApplicationExists" />
</MSBuild.ExtensionPack.BizTalk.BizTalkApplication>
<MSBuild.ExtensionPack.BizTalk.BizTalkAdaptor TaskAction="CheckExists" MachineName="$(BizTalkServer)" AdaptorName="WCF-SQL">
<Output TaskParameter="Exists" PropertyName="AdaptorExists" />
</MSBuild.ExtensionPack.BizTalk.BizTalkAdaptor>
Обновление:
Я просмотрел журнал событий. Не знаю, почему я не подумал об этом с самого начала. Я получаю следующие 3 события:
1-е событие, уровень = информация, источник = сервер Sql
Попытка инициализировать координатор распределенных транзакций Microsoft (MS DTC). Это только информационное сообщение. От пользователя не потребуется никаких действий.
2-е событие, Уровень=Информация, Источник=Sql-сервер
Не удалось связаться со службой координатора распределенных транзакций Microsoft (MS DTC). Если вам нужна функциональность распределенных транзакций, запустите эту службу.
3-е событие, Уровень=Ошибка, Источник=BizTalk
Не удается установить связь с MessageBox BizTalkMsgBoxDb в экземпляре SQL. Код ошибки: 0x8004d01c. Возможные причины:
1) MessageBox недоступен.
2) Сетевое соединение с этого компьютера на MessageBox не работает.
3) Конфигурация DTC либо на этом локальном компьютере, либо на компьютере, на котором размещен этот MessageBox. это неверно.