Ошибка создания приложения BizTalk на удаленном сервере с помощью пакета расширения MSBuild

У меня есть сценарий 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 был настроен следующим образом как на локальном, так и на удаленном сервере:

Конфигурация 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. это неверно.


person Pete    schedule 22.06.2012    source источник


Ответы (1)


Я обнаружил, что хотя на удаленном сервере, на котором я пытаюсь выполнить развертывание, нет приложения BizTalk с таким именем, на локальном сервере, с которого я пытаюсь выполнить развертывание, имеется приложение BizTalk с именем указанное имя.

Это не должно помешать мне развернуть приложение на удаленном сервере, но мешает.

Такое поведение присутствует как при использовании задач BizTalk пакета расширения MSBuild, так и при попытке использовать btstask.exe для создания удаленного приложения.

person Pete    schedule 26.06.2012