私はWindowsサービスを作成しようとしています。イベントログに書き込めるようにする必要があります。私は私のサービスプロジェクトにEventLog
コンポーネントを追加し、ccs_wscln
(サービスと同じ名前)であることをccs_wscln_log
とSource
財産であることをLog
プロパティを設定しました。なぜ私のイベントログソースは<log>の代わりにレジストリに "Application"の下に置かれ続けますか?
私はこのプロジェクトの作成とインストーラも作成しました。私の問題は、サービスをインストールする度に HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application
の HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\ccs_wscln_log
のときにccs_wscln
レジストリキーを作成することです。
これに伴う問題は、私は、サービスを起動しようとすると、私は
は「ソース 『ccs_wsclnが』ログ 『ccs_wscln_log』に登録されていないと言うエラーが出るということです。(それは、ログ 『アプリケーション』に登録されています)ソースとログのプロパティが一致する必要があります。または、Logを空の文字列に設定すると、自動的にソースプロパティに一致します。
ccs_wsclnレジストリキーを削除すると私はアプリケーションをインストールすると、アプリケーションの下に自動的に私のためのエントリを作成していると私はそれを防ぐにはどうすればいいですか?これをする? 私は、アプリケーションの下に前にそれをインストールした場合はコンピュータを再起動する必要があると述べSO上の他の記事を見つけたので、私はそれを試してみましたが、私は解決策を再読み込みするとき、それはあったので、私もデザイナーを育てることができませんでしたレジストリエントリが見つからなかったと訴え、それでもアプリケーションの下にインストールされます。
サービスクラスに同じソース/ログ名を持つEventLogコンポーネントが既にある場合はどうなりますか?私は数分前と似たようなことを試しました。インストールしようとしたときに、ソースが既に存在するというメッセージが表示されました。おそらく私は再びコンピュータを再起動する必要があります – alexD