1

Visual Studio プロジェクトのセットアップ ファイルを作成しました。これらは、プロジェクト出力をセットアップ プロジェクトに追加することによって作成されます。これにより、すべての DLL ファイルとプロジェクト自体が含まれます。

アプリケーションを開発に使用したマシンにインストールすると、正常に動作します。ただし、新しい Windows インストール (.NET Framework 4.0 がインストールされている) を使用して別のコンピューターにインストールすると、アプリケーションは起動時にクラッシュし、起動さえしません。

なぜこれが起こっているのか誰にも分かりますか?

4

2 に答える 2

0

何がクラッシュしているのかを知るために、Program.cs (または Main() がある場所) 内から次のようにして未処理の例外をキャッチできます。

        static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
        {
            MessageBox.Show(e.Exception.Message, "Unhandled Thread Exception");
            // here you can log the exception ...
        }

        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            MessageBox.Show((e.ExceptionObject as Exception).Message +
                "\r\n\r\nStack Trace:" +
                (e.ExceptionObject as Exception).InnerException.StackTrace, "Unhandled UI Exception");
            // here you can log the exception ...
        }

メッセージはいくつかの手がかりを与えてくれます。イベント ログも確認してください。役立つ情報が見つかる場合があります。

于 2012-12-18T15:28:51.623 に答える
0

最初に確認するのは、Windows イベント ログです。クラッシュの原因がアプリケーション イベント ログに書き込まれる可能性が高くなります。

DispatcherUnhandledExceptionを使用して、未処理の例外をすべてキャッチしてみてください。

public partial class App : Application
{
    void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
    {
        // Process unhandled exception

        // Prevent default unhandled exception processing
        e.Handled = true;
    }
}

これにより、例外をログ ファイルまたはメッセージ ボックスに書き込むコードを少し追加できます。

于 2012-12-18T14:49:14.923 に答える