2016-04-12 11 views
1

.NET exeを展開するにはどうすればよいのですか?私は、同じ場所にexeファイルを置いておくことを心配しているので、エンドユーザが誤ってpdbを削除する可能性があります。ただし、ユーザーがエラーに遭遇したときのエラーの詳細(モジュール、行番号など)を確認することをおすすめします。 .pdbなしでこの情報を取得する別の方法がある場合は、私にお知らせください。前もって感謝します!.exeと別の場所に.exeを展開する

答えて

0

This answerは、ビルド時間の準備のビットでpdbなしでその情報を取得する方法を説明しています。

ユーザーには持っていないことをお勧めしますアプリケーションをインストールするフォルダへのアクセス権を削除します(例:Program Files?)そうした場合、または管理者の場合は何も停止しませんpdbまたはexeを削除してください。

+0

を、残念ながら彼らは、読み取り/書き込みアクセス権が、それは文句を言わない変更することができ。ファイルは安全なコピーから戻すことができますが、混乱を避けるために、可能であればエンドユーザーに.pdbを表示さえしたくありません。 – Kathryn

1

アプリケーションの起動時に環境変数_NT_SYMBOL_PATHを設定すると、これを実行できます。デバッグシンボルを検索する場合、この環境変数(存在する場合)のパスで.pdbファイルが検査されます。 (のは、それは「%LOCALAPPDATA%\ MyAppに\記号」であるとしましょう)、いくつかのフォルダにシンボルを入れ、その後、実行します。

var symbolsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyApp", "Symbols"); 
Environment.SetEnvironmentVariable("_NT_SYMBOL_PATH", symbolsPath); 
+0

これが機能しました。どうもありがとうございます! – Kathryn

関連する問題