2009-08-04 18 views
0

私はWinFormsアプリケーションでApplication.UnhandledExceptionイベントを処理しており、そこにキャッチされた例外をログに記録する必要があります。私のapp.configはFileLogとEventLogに例外を記録するように設定されています。セキュリティ上の問題My.Application.Log.WriteExceptionを使用してイベントログに書き込む

管理者以外のユーザーとして実行すると、SecurityExceptionのためにEventLogに書き込みできないという問題があります。「ソースは見つかりませんでしたが、一部またはすべてのイベントログを検索できませんでした。 "

私は、なぜユーザーにはEventLogソースを作成する権限がありませんが、このソースをどのように作成する必要があるのでしょうか?私はそれを見て、私はどちらかをすることができます:

1)これはadminとして実行されているので、私のインストーラでEventLogソースを作成します。これを行う方法?

2)私のアプリ内から、何らかの形で許可を増やして作成しますか?しかし、これはVistaのUACプロンプトを与えるだろう。

クライアントマシン上にWindowsアプリケーションEventLogソースを作成するためのベストプラクティスは何ですか?これを行うには

おかげ

答えて

2

最も一般的な方法は、あなたがそれを行う方法1.

あなたのオプションは、あなたのインストーラパッケージに依存しますが、あなたがする必要があります。

  1. インストーラの実行を確認してください高い許可を得て
  2. あなたのインストーラがイベントログに書き込む場合、あなたのイベント・ソースが直接

、ソースが作成され、利用できるようになりますため、レジストリキーを作成し、そのイベントログソースへの単一のエントリを書き込み、または

  • 非管理者の場合

    WiX(WindowsインストーラXML)を使用すると、イベントソースレジストリエントリを直接作成するためのthis postを参照できます。

  • +0

    ありがとうございます。うまくいくはずです。さらに詳しい情報はこちら: http://msdn.microsoft.com/en-us/library/xz73e171%28VS.80%29.aspx –

    関連する問題