私は商用のWindows 7デスクトップアプリケーションを開発しています。アプリケーションには、WindowsサービスとWPFユーザーインターフェイスの両方のコンポーネントがあります。顧客のサイトでアプリケーションが失敗した場合、プロセスのダンプ・ロケーションへのクラッシュ・ダンプを含むランタイム環境に関する情報を取得できます。これらの情報は、今後の調査の依頼があった場合、サポート担当者に連絡することができます。障害の結果として表示される可能性のあるWindowsエラー報告およびSend Microsoftダイアログもオフにする必要があります。Windows 7 - プログラム/デバッグプログラムのダイアログを無効にしても、ダンプをクラッシュダンプしてユーザーに通知する
重要なことは、これがアプリケーションプロセスにのみ影響を与えたいということです。我々は、顧客のデスクトップ上の他のすべてのアプリケーションが致命的なエラーを報告する方法を変えるいくつかのグローバル設定には影響を与えたくありません。
私はシュリンクラップアプリケーションでこのようなことを行うためのいくつかの提案とベストプラクティスを探しています。
これを行うには、未処理の例外をキャッチする必要があります。この時点で、あなたはあなたが望むあらゆる情報をあなたに送ります。これを非常に簡単にするサードパーティライブラリがあります。これらの他のダイアログに関しては、それらは依然として表示されます。あなたはもちろん、その情報を購読することもできます。 –
はい、私はすでにそれをやっています。私は、AppDomain.CurrentDomain.UnhandledExceptionセットアップとDispatcher.UnhandledExceptionを持っています。ただし、処理できない例外がいくつかあります。それらが発生すると、私はマイクロソフトから望ましくない厄介なダイアログを得る。 – KyleLib
既に示されているように、起こりそうなあらゆる例外を処理することはまずありません。また、ユーザーのコンピュータ上のダイアログが表示されないようにすることはできません。 –