以前書いた記事の続編?というかいろいろですね。
C#でサービスアプリケーションを作っていて思ったことを記載します。
Visual Studio 2012、2013では、サービスインストーラーの追加は、サービスのデザイナーを右クリックして追加します。
また、コンポーネントを追加するときに、EventLogを追加してお手軽にやろうと思ってしまいますが・・・ログの出力先によっては、使わないで自前で書きましょう。なぜかといいますと・・・
ログの出力先がApplicationに固定されてしまったり、InstallUtil.exeでインストールする際に、ログが既にあるとインストールに失敗してしまいます。
一度、これに気づいて、サービスをインストールしてしまい、そのあとで、直してしまうと、InstallUtilで失敗してしまうのです。
すでに別のログで登録されてしまっていると・・・
その場合、一度削除してあげないとなりません。
自前で書く場合ですが・・・もっと読む...
まあ、よくある話なのですが・・・
Visual Studio 2012 C#でサービスアプリケーションを作り、Installutil.exeでインストールできるようにつくるとして、ServiceInstallerを入れる
とりあえず、Serviceとして作ったクラスの”デザイナー”を開いて、ツールボックスのコンポーネントからドロップしてあげればよい。
まあ、これはともかく、
Installutil.exeを使ってインストール、アンインストールをしていると、Installerが ArgmentExceptionで失敗、ロールバックすることがありますが、海外などで見ると、Eventlogへの登録関連でおきますよね。
自前でInstallerコード書けば、
もっと読む...