2016-03-23 27 views
1

在C#代碼上,在使用installUtil安裝服務期間出現錯誤。 我使用我自己的安裝程序。 安裝程序上的所有代碼和installUtil的參數都可以,因爲在90%的情況下安裝工作正常。 失敗的場景是在我的CI作業下,我使用相同的代碼並行安裝多個服務,並且我無法捕捉異常。 我只有在記錄以下消息:在System.Configuration.Install.AssemblyInstaller安裝的提交階段發生在InstallUtil工作流程上捕獲異常

例外。 System.InvalidOperationException:集合已被修改;枚舉操作可能不會執行。 安裝的提交階段發生異常。這個例外將被忽略,安裝將繼續。但是,安裝完成後,應用程序可能無法正常運行。

所有階段和方法,我能夠重寫,在我自己的安裝程序類我已經把日誌,還我System.Configuration.Install.Installer的一些源代碼,我也有記錄,但什麼都沒有......

在安裝方法和提交之前發生異常。

就在提交System.Configuration.Install.Installer的階段的執行,有一些代碼的輸出:

日誌如下:

安裝階段順利完成,並提交階段正在開始。 查看日誌文件的內容... 提交程序集.... 受影響的參數是:.... System.Configuration.Install.AssemblyInstaller的提交階段發生異常... 提交階段成功完成。 交易安裝已完成。 安裝的提交階段發生異常。

正如你所看到的,例外來後我的自定義安裝程序類或System.Configuration.Install.Installer的所有覆蓋方法

誰能給我一些安裝階段之前提交階段,但無處提示如何捕獲此異常或更好地瞭解在安裝服務期間執行的完整工作流?

感謝

回答

0

看看InstallUtil源代碼之後,我們發現,/日誌文件參數,仔細和良好的地方使用,做的工作運行情況有專門的日誌文件。在我們的測試場景中,命令行結構不完善,LogFile參數被忽略...