2

イベントログソースを自動的に作成せずに、またはを介してデフォルトのアプリケーションイベントログに書き込みたいのですがEventLog.CreateEventSource。プログラムは、イベントログソースを作成する方法がない非管理者として実行される場合があります。このアプリケーションにはインストールプログラムがありません。この場合「常に機能する」ソースに指定できるものはありますか?

参考までに、エラーメッセージは次のとおりです。

System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  To create the source, you need permission to read all event logs to make sure that the new source name is unique.  Inaccessible logs: Security.
4

1 に答える 1

4

イベント ソースを登録せずに書き込むことはできず、イベント ソースを作成するには管理者権限が必要です。管理者権限があり、最初にソースを作成せずにログを書き込むと、Windows によってイベント ソースが自動的に作成されます。

MSDN から:

イベント ログにイベントを書き込むには、WriteEvent と WriteEntry を使用します。イベントを書き込むには、イベント ソースを指定する必要があります。ソースを使用して最初のエントリを書き込む前に、イベント ソースを作成して構成する必要があります。

アプリケーションのインストール中に新しいイベント ソースを作成します。これにより、オペレーティング システムが登録済みのイベント ソースとその構成のリストを更新する時間ができます。オペレーティング システムがイベント ソースのリストを更新していない場合、新しいソースでイベントを書き込もうとすると、書き込み操作は失敗します。EventLogInstaller または CreateEventSource メソッドを使用して、新しいソースを構成できます。新しいイベント ソースを作成するには、コンピューターの管理者権限が必要です。

EventLog.Source プロパティ

于 2013-03-07T21:57:45.133 に答える