続・C#のサービスアプリケーション(イベントログ)で悩む

以前書いた記事の続編?というかいろいろですね。

C#でサービスアプリケーションを作っていて思ったことを記載します。

Visual Studio 2012、2013では、サービスインストーラーの追加は、サービスのデザイナーを右クリックして追加します。

また、コンポーネントを追加するときに、EventLogを追加してお手軽にやろうと思ってしまいますが・・・ログの出力先によっては、使わないで自前で書きましょう。なぜかといいますと・・・

ログの出力先がApplicationに固定されてしまったり、InstallUtil.exeでインストールする際に、ログが既にあるとインストールに失敗してしまいます。

一度、これに気づいて、サービスをインストールしてしまい、そのあとで、直してしまうと、InstallUtilで失敗してしまうのです。
すでに別のログで登録されてしまっていると・・・

その場合、一度削除してあげないとなりません。

自前で書く場合ですが・・・もっと読む...

C# サービスアプリケーションのServiceInstallerでなやんだこと

まあ、よくある話なのですが・・・

Visual Studio 2012 C#でサービスアプリケーションを作り、Installutil.exeでインストールできるようにつくるとして、ServiceInstallerを入れる

とりあえず、Serviceとして作ったクラスの”デザイナー”を開いて、ツールボックスのコンポーネントからドロップしてあげればよい。

まあ、これはともかく、

Installutil.exeを使ってインストール、アンインストールをしていると、Installerが ArgmentExceptionで失敗、ロールバックすることがありますが、海外などで見ると、Eventlogへの登録関連でおきますよね。

自前でInstallerコード書けば、

もっと読む...

Month List