0

C# 言語でイベント ビューアに書き込むときに、ソース名をどのように変更しますか?

現在これを持っています

string cs = "アプリケーション";

            if (!EventLog.SourceExists(cs))
            EventLog.CreateEventSource(cs, "ReceiveDaily");
            EventLog.WriteEntry(cs, message.Message, EventLogEntryType.Error);

CS を別のものに変更すると、Security-Kerberos (0x7) がイベント ビューアーにポップアップ表示されますが、"Application" を入力すると、エラー ログにエラーが書き込まれます。しかし、ソースは「アプリケーション」であり、それがどこから来たのかはあまり適切な説明ではありません...

前もって感謝します。

4

2 に答える 2

1

@Philが述べているように、管理者モードで実行していない限り、イベントソースを動的に作成できるとは思いません。

ただし、アプリケーションに必要なソースのセットがわかっている場合は、System.Diagnostics.EventLogInstallerおよびを使用してそれらをプレインストールできますInstallUtil.exe。これらのソースは、アプリケーションで使用できるようになります。

これは、インストーラーをセットアップする良い例です。

于 2012-03-07T12:51:26.057 に答える
1

アプリを管理モードで実行する必要があります。

アプリを右クリックし、[管理者として実行] を選択して、エクスプローラーからこれを行うことができます。

または、マニフェストをアプリに追加して、実行時に管理者権限を自動的に要求することもできます。

最後の (そしてセキュリティの観点から最悪の) オプションは、コントロール パネルから UAC を無効にすることです。

于 2012-03-07T12:44:51.940 に答える