3

BizTalk Server のインストールを自動化し、BizTalk "configuration.exe" ユーティリティを使用して構成を適用するスクリプトを作成しています。configuration.exe ユーティリティをローカルで実行して構成 xml を指定すると、正常に動作し、ユーザーの操作を必要とせずに進行状況を示すダイアログが構成中に表示されます。

私が抱えている問題は、Powershell 経由で configuration.exe をリモートで実行しようとしたときです。構成は適用されず、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>

一部の MSI および EXE インストーラーには /silent オプションがあることがわかっているため、configuation.exe に渡すことができるオプションを確認しましたが、この EXE にはそれがないようです。

ここに画像の説明を入力

これを PSExec で実行しようとしたところ、同様のエラーが発生しました。

とにかくこれをリモートで実行する方法があれば教えてください。ありがとう。

4

2 に答える 2

2

これは非常に古い投稿ですが、単なる更新であることは承知しています。BizTalk 2013 をリモートで構成しようとしている場合は、BizTalk の最新の更新プログラム (現在の CUW3 BizTalk2013CU3-KB3088676-ENU) をインストールしてください。これにより、/ のオプションが提供されます。プログレスバーなし。これで問題が解決します

于 2015-11-16T14:19:29.020 に答える
1

手遅れかどうかはわかりませんが、同じ問題に直面しています。これは、Configuration.exe がいくつかの MessageBox.Show() を実現するフォーム コンポーネントを使用し、これが非対話モードと互換性がないという事実によるものです。イベント ビューアで情報メッセージを見ると、次の Waston Report を含むダンプ ファイルが表示されます。

<?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 ワン タッチ構成に関する投稿を書きました。

モーダルダイアログを使用せず、リモートでpowershellから構成を有効にするextendedconfiguration.exeコンポーネントを作成しました。ダブルホップの問題を回避するためにスケジュールタスクを使用しますが、オンプレミスネットワークの場合は、コンピューター間の信頼できる接続を構成し、pssession を作成するときに -Authentication CredSSP を使用すると、動作するはずです。

この助けを願っています

Jérémie MVP 統合

于 2013-05-06T08:26:58.527 に答える