3

我正在編寫腳本以自動安裝BizTalk Server,然後通過BizTalk「configuration.exe」實用程序應用配置。 當我在本地運行configuration.exe工具併爲其提供config xml時,它工作正常,並且在配置過程中顯示一個對話框,顯示進度而不需要任何用戶交互。BizTalk 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似乎沒有它。

enter image description here

我也試圖通過PSEXEC運行此,我得到了一個類似的錯誤。

請讓我知道是否有遠程運行此遠程。謝謝。

+0

您是否嘗試通過登錄到服務器來運行它?如果運行良好,那麼它可能與Windows憑據有關,而在遠程運行。 – user1826905

+0

當我在本地運行它時會起作用,而當我遠程運行它時,我使用相同的憑據,所以我認爲用戶身份驗證沒有問題。此外,事件日誌不會顯示任何用戶身份驗證錯誤。 –

+0

嘗試遠程運行一些其他腳本,以確保您有正確的設置並縮小問題範圍。 – user1826905

回答

1

我不知道你是否已經太晚了,但我面臨同樣的問題。這是由於Configuration.exe使用表單組件實現一些MessageBox.Show()並且這與非交互模式不兼容。如果你看一下在事件查看器中的信息的消息,你會看到一個轉儲文件與以下加沃斯頓報告:

<?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 Configuration

我編寫了一個extendedconfiguration.exe組件,以便不使用模式對話框並從遠程的powershell啓用配置。我在使用計劃任務之後繞過了雙跳問題,但如果您處於駐地網絡中,我認爲您可以在您的計算機之間配置可信連接,並在創建pssession時使用-Authentication CredSSP並且它應該是工作。

希望這有助於

熱雷米 MVP Integration

+0

嗨,傑里米,非常感謝。當我從我需要的地方搬走的時候已經太晚了,但是非常感謝您的幫助,我一定會將此作爲參考,以便我再次需要做這樣的事情。歡呼 –

1

我知道這是一個很老的文章,但只是一個更新.. 如果任何人試圖配置BizTalk 2013遠程..請安裝BizTalk的最新更新(currenlty CUW3 BizTalk2013CU3-KB3088676-ENU)。這將提供/ noprogressbar的選項。這將解決問題

+0

謝謝。 Biztalk 2013 R2中的問題仍然存在。安裝CU3和使用/ noprogressbar工作。 – drinkofwater