Ошибка удаленного выполнения BizTalk Configuration.exe

Я пишу сценарий для автоматизации установки BizTalk Server, а затем применяю конфигурации с помощью служебной программы BizTalk «configuration.exe». Когда я запускаю утилиту configuration.exe локально и предоставляю ей конфигурационный xml, она работает нормально и отображает диалоговое окно во время настройки, которое показывает ход выполнения без необходимости какого-либо взаимодействия с пользователем.

Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь удаленно запустить файл configuration.exe через Powershell. Конфигурации не применяются, и процесс configuration.exe появляется на несколько секунд в проводнике процессов, после чего завершается.

Я проверил журналы ошибок, и мне кажется, что configuration.exe дает сбой, поскольку пытается показать свои окна выполнения, но не может сделать это удаленно. В журнале ошибок появляются 3 ошибки:

Отчеты об ошибках Windows:

            - <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
            - <System>
              <Provider Name="Windows Error Reporting" /> 
              <EventID Qualifiers="0">1001</EventID> 
              <Level>4</Level> 
              <Task>0</Task> 
              <Keywords>0x80000000000000</Keywords> 
              <TimeCreated SystemTime="2012-12-03T13:24:10.000000000Z" /> 
              <EventRecordID>3956</EventRecordID> 
              <Channel>Application</Channel> 
              <Computer>HOSTNAME</Computer> 
              <Security /> 
              </System>
            - <EventData>
              <Data /> 
              <Data>0</Data> 
              <Data>CLR20r3</Data> 
              <Data>Not available</Data> 
              <Data>0</Data> 
              <Data>configuration.exe</Data> 
              <Data>3.0.1.0</Data> 
              <Data>4c5479ac</Data> 
              <Data>System.Windows.Forms</Data> 
              <Data>4.0.0.0</Data> 
              <Data>4f61a8cc</Data> 
              <Data>3e06</Data> 
              <Data>ee</Data> 
              <Data>System.InvalidOperationException</Data> 
              <Data /> 
              <Data /> 
            <Data>C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_configuration.ex_120852993cfe8d93d2aac7a1cea49f9a18b688_345a8b46</Data> 
              <Data /> 
              <Data>0</Data> 
              <Data>b823ff23-3d4c-11e2-ae6f-005056bc6ac0</Data> 
              <Data>4</Data> 
              </EventData>
              </Event>

Ошибка приложения:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Application Error" /> 
  <EventID Qualifiers="0">1000</EventID> 
  <Level>2</Level> 
  <Task>100</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2012-12-03T13:24:10.000000000Z" /> 
  <EventRecordID>3955</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>HOSTNAME</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Configuration.exe</Data> 
  <Data>3.9.469.0</Data> 
  <Data>4c5479ac</Data> 
  <Data>KERNELBASE.dll</Data> 
  <Data>6.1.7601.17651</Data> 
  <Data>4e211319</Data> 
  <Data>e0434352</Data> 
  <Data>0000b9bc</Data> 
  <Data>1be0</Data> 
  <Data>01cdd1597a111847</Data> 
  <Data>C:\Program Files (x86)\Microsoft BizTalk Server 2010\Configuration.exe</Data> 
  <Data>C:\Windows\syswow64\KERNELBASE.dll</Data> 
  <Data>b823ff23-3d4c-11e2-ae6f-005056bc6ac0</Data> 
  </EventData>
  </Event>

Ошибка выполнения .NET:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name=".NET Runtime" /> 
  <EventID Qualifiers="0">1026</EventID> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2012-12-03T13:24:10.000000000Z" /> 
  <EventRecordID>3954</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>HOSTNAME</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Application: Configuration.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.InvalidOperationException Stack: at System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window) at System.Windows.Forms.Form.ShowDialog() at Microsoft.BizTalk.Configuration.Program.RunConfigProgressUIThread() at System.Threading.ThreadHelper.ThreadStart_Context(System.Object) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Threading.ThreadHelper.ThreadStart()</Data> 
  </EventData>
  </Event>

Я проверил параметры, которые можно передать в configuation.exe, поскольку я знаю, что в некоторых установщиках MSI и EXE есть параметр / silent, но в этом EXE, похоже, его нет.

введите описание изображения здесь

Я также пытался запустить это через PSExec, и у меня возникла аналогичная ошибка.

Пожалуйста, дайте мне знать, есть ли способ запустить это удаленно. Спасибо.


person Musaab Al-Okaidi    schedule 04.12.2012    source источник
comment
Вы пробовали запускать его с сервера, авторизовавшись на нем? Если он работал нормально, это могло быть связано с учетными данными Windows при удаленной работе.   -  person user1826905    schedule 05.12.2012
comment
Он работает, когда я запускаю его локально, а когда я запускаю его удаленно, я использую те же учетные данные, поэтому я не думаю, что есть проблема с аутентификацией пользователя. Кроме того, в журналах событий не отображаются ошибки аутентификации пользователей.   -  person Musaab Al-Okaidi    schedule 05.12.2012
comment
Попробуйте запустить какой-нибудь другой скрипт удаленно, чтобы убедиться, что у вас есть правильные настройки, и сузить проблему.   -  person user1826905    schedule 05.12.2012
comment
Я удаленно запускал различные другие команды, и все они успешно выполняются.   -  person Musaab Al-Okaidi    schedule 05.12.2012
comment
В сообщении об ошибке появляется System.Windows.Forms.Form.ShowDialog. Это означает, что ему нужно что-то отобразить, что невозможно при удаленном выполнении.   -  person user1826905    schedule 05.12.2012
comment
Да, я считаю, что проблема именно в этом. Приглашение представляет собой простой индикатор выполнения и не требует какого-либо взаимодействия с пользователем, поэтому я хочу знать, есть ли способ подавить это окно или разрешить ему всплывать в сеансе консоли, если это возможно.   -  person Musaab Al-Okaidi    schedule 05.12.2012
comment
Можете ли вы опубликовать используемые параметры командной строки Configuration.exe? Вы пробовали с / S   -  person user1826905    schedule 05.12.2012
comment
Я обновил исходный пост, включив в него снимок экрана с параметрами, которые принимает файл configuration.exe. Оператор / s используется для указания пути к XML-файлу, который содержит параметры конфигурации. Я выполняю следующую команду: c: \ Program Files (x86) \ Microsoft BizTalk Server 2010 \ Configuration.exe / s C: \ Temp \ BiztalkConfig.xml / l C: \ Temp \ BiztalkConfigLog.log   -  person Musaab Al-Okaidi    schedule 05.12.2012
comment
Для ясности, поскольку я запускаю команду удаленно через Powershell, я запускаю ее так: $ Command = & 'c: \ Program Files (x86) \ Microsoft BizTalk Server 2010 \ Configuration.exe' / s C: \ Temp \ BiztalkConfig.xml / l C: \ Temp \ BiztalkConfig $ (Get-Date -f ddMMyyyy_HHmmss) .log $ PSSession = New-PSSession -ComputerName BizTalkServer Invoke-Command -Session $ PSSession -ArgumentListList Вызов-выражение $ args [0]}   -  person Musaab Al-Okaidi    schedule 05.12.2012
comment
Можете ли вы попробовать запустить его, не создавая постоянного соединения, то есть Invoke-Command -ComputerName BizTalkServer -ArgumentList $ Command -ScriptBlock {Invoke-Expression $ args [0]}   -  person user1826905    schedule 05.12.2012
comment
Я все еще получаю ту же ошибку.   -  person Musaab Al-Okaidi    schedule 05.12.2012
comment
вы запускали файл configuration.exe, находясь на сервере с помощью командной строки или командной строки?   -  person user1826905    schedule 05.12.2012
comment
Я использовал как powershell, так и командную строку, и она успешно выполняется из обеих оболочек.   -  person Musaab Al-Okaidi    schedule 05.12.2012
comment
Попробуйте запустить свой скрипт через это   -  person user1826905    schedule 05.12.2012
comment
Вы имеете в виду запустить его через Powershell ISE? или я что-то упустил? Я попытался запустить его через Powershell ISE, но снова получаю ту же ошибку.   -  person Musaab Al-Okaidi    schedule 06.12.2012
comment
К вашему сведению: я не знаю, знали ли вы, но уже есть проект с открытым исходным кодом для развертывания проектов biztalk с использованием msbuild: biztalkdeployment.codeplex .com   -  person Jay    schedule 18.12.2012
comment
Спасибо за это, Джей, я посмотрю.   -  person Musaab Al-Okaidi    schedule 25.12.2012


Ответы (2)


Я знаю, что это очень старый пост, но это всего лишь обновление ... Если кто-то пытается настроить BizTalk 2013 удаленно ... пожалуйста, установите последнее обновление для BizTalk (текущий CUW3 BizTalk2013CU3-KB3088676-ENU). Это предоставит возможность / noprogressbar. Это решит проблему

person Rthouti    schedule 16.11.2015
comment
Спасибо. Проблема все еще присутствовала у меня в Biztalk 2013 R2. Установка CU3 и использование / noprogressbar работали. - person sherenator; 22.12.2016

Я не знаю, слишком ли поздно для вас, но я столкнулся с той же проблемой. Это связано с тем, что Configuration.exe использует компонент формы, реализующий некоторый MessageBox.Show (), и это несовместимо с неинтерактивным режимом. Если вы посмотрите информационное сообщение в средстве просмотра событий, вы увидите файл дампа со следующим отчетом Waston:

<?xml version="1.0" encoding="utf-16"?>
<WatsonInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <osVersion>Microsoft Windows NT 6.2.9200.0</osVersion>
  <AppName>Microsoft ® BizTalk ® Server 2013</AppName>
  <AppVersion>3.10.229.0</AppVersion>
  <exceptionString>System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at Microsoft.BizTalk.Configuration.Program.RunConfigProgressUIThread()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()</exceptionString>
  <exceptionMessage>Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.</exceptionMessage>
  <exceptionStackTrace>   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at Microsoft.BizTalk.Configuration.Program.RunConfigProgressUIThread()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()</exceptionStackTrace>
  <targetSite>System.Windows.Forms.DialogResult ShowDialog(System.Windows.Forms.IWin32Window)</targetSite>
  <HResult>80131509</HResult>
</WatsonInfo>

Вы увидите это исключение ошибки:

System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

Если вас всегда интересует этот процесс (удаленная настройка biztalk в командной строке), я только что написал об этом сообщение здесь Конфигурация Azure BizTalk One Touch.

Я написал компонент extendedconfiguration.exe, чтобы не использовать модальный диалог и включить конфигурацию из PowerShell удаленно. Я использую задачу расписания после, чтобы обойти проблему двойного прыжка, но если вы находитесь в локальной сети, я думаю, вы можете настроить доверенное соединение между вашими компьютерами и использовать -Authentication CredSSP при создании вашей pssession, и это должно работать.

Надеюсь на эту помощь

Джереми Интеграция MVP

person Jeremie Devillard    schedule 06.05.2013
comment
Привет, Джереми, большое спасибо. Слишком поздно, так как я переехал с того места, где мне это было нужно, но большое спасибо за помощь, я обязательно сохраню это как ссылку на случай, если мне когда-нибудь понадобится сделать что-то еще. Ваше здоровье - person Musaab Al-Okaidi; 07.05.2013