一部のコンピューターで、.NET(C#またはVB.NETアプリケーション)で未処理の例外が発生したときに、なぜ異なるダイアログが表示されるのかを知りたいと思いました。
たとえば、一部のコンピュータでは、次のように表示されます。
他の人の上にいる間、それはこのように表示されます:
特定の目的でアプリケーションを使用するすべてのシステムの2番目(アプリケーションで未処理の例外が発生しました)のように表示したかったのです。
グローバル例外ハンドラメソッドの使用を提案しないでください。
正しい動作としてマークしたものは、JIT(Just in time debuger)を有効または無効にすることで制御できます。
たぶん、これはあなたを助けることができるか、またはちょうどあなたを正しい軌道に乗せることができます:MSDN:方法:ジャストインタイムデバッグを有効/無効にする
私は何も提案していませんが、特にスタックトレースでは、エンドユーザーがこの種の例外を取得してはならないという慣習があります。
一部のアプリケーションでは、JITデバッグが有効になっています。
http://msdn.microsoft.com/en-us/library/5hs4b7a6.aspx
具体的には、.NETapp.configに次を追加できます。
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>