2016-03-23 15 views
1

C#コードでは、installUtilを使用したサービスのインストール中にエラーが発生します。 私は自分のインストーラを使用しています。 インストールの90%が問題なく動作するので、インストーラのすべてのコードとinstallUtilのパラメータはokです。 エラーが発生したシナリオはCIジョブの下にあります。同じコードを使用していくつかのサービスを並列にインストールしていますが、例外をキャッチできません。 私が持っているすべては、ログに以下のメッセージです:InstallUtilワークフローの例外をキャッチ

例外がSystem.Configuration.Install.AssemblyInstallerインストーラのコミットフェーズ中に発生しました。 System.InvalidOperationException:コレクションが変更されました。列挙操作が実行されないことがあります。 インストールのコミットフェーズで例外が発生しました。この例外は無視され、インストールは続行されます。ただし、インストールが完了した後、アプリケーションが正しく機能しないことがあります。

私はすべての段階でログを保存しています。自分のインストーラクラスでも、System.Configuration.Install.Installerのソースコードを上書きすることができます。何も...

インストールメソッドの後で、コミットの前に例外が発生しています。

だけSystem.Configuration.Install.Installerのフェーズコミットを実行する前に、この出力でいくつかのコードがある:次のように

ログ:

正常に完了インストール段階、及びコミット段階が始まっている。 ログファイルの内容を参照してください... コミット中.... 影響を受けるパラメータは.... System.Configuration.Install.AssemblyInstallerのコミットフェーズで例外が発生しました... コミット段階は正常に完了しました。 トランザクションインストールが完了しました。 インストールのコミットフェーズで例外が発生しました。

あなたが見ることができるように、例外がインストールフェーズの後とコミット段階の前に来るが、どこにも私のカスタムインストーラクラス上またはSystem.Configuration.Install.Installer

のすべてオーバーライドされたメソッドで、誰もが私にいくつかを与えることができますこの例外をキャッチする方法や、サービスのインストール中に実行される完全なワークフローのより良いビューについてのヒント?

おかげ

答えて

0

ます。installutilのソースコードを見た後、我々は慎重に良い場所で使用される/ logfileパラメーターは、インスタンスを実行することにより、専用のログファイルを持って仕事をすることを見出しました。私たちのテストシナリオでは、コマンドラインはうまく構築されておらず、LogFileパラメータは無視されていました...

関連する問題