C#

インストーラで Windows イベントログのソースを作成

初めて Windows サービスを作ってみたのですが、イベントログを出力しようとすると SecurityException とかが出て、うまく書き込めませんでした。

いろいろ調べてみて、以下のようなことがわかりました。

  • イベントソースを新規作成するには管理者権限が必要
  • イベントログに書き込むのに管理者権限は必要ない

私の場合、存在しないイベントソースを指定して書き込もうとしていたため、イベントソースを新規作成しようとして、権限が足りなくてエラーになっていたようです。

で、どうすれば良いかというと、イベントログに出力するアプリケーションの場合、インストール時にイベントログのソースを作成してしまうと良いとのことでした。

Visual Studio のセットアッププロジェクトを使ってみたところ、ノンコーディングで全部行うことができましたので、その手順を紹介します。

(さらに…)


[C#] char から int に変換

全く大した話ではないのですが、数字が入った char を、その数字を表す int にするお話。当然標準クラスのメソッドにあると思ったら、意外になかったというお話。

普通に思いつくのはこれ

1回 string にしちゃうのは面白くない。でも、Int32.Parse には char を取るオーバーロードはありません。

何かないかと思ってMSDNを眺めていたら、Char.GetNumericValue メソッドというそのまんまっぽいのを発見しましたが…

(さらに…)