.net でサービスインストーラーで必要な設定。

必要な設定が分散してるのでいろいろ迷う。なんで覚えてるうちにメモ。



サービスインストーラーの作り方。

  1. サービスプロジェクト(A)を作る。
  2. サービスのデザイナのプロパティ(もしくは右クリック)からインストーラーの追加を選択。
  3. サービス用のインストーラー(B)が出来る。
  4. セットアッププロジェクト(C)を追加。
  5. サービスプロジェクトのプライマリ出力を追加
    → 追加方法
    1. ソリューションエクスプローラーからセットアッププロジェクトを選択して右クリック。
    2. >追加>プロジェクトの出力>サービスプロジェクトのプライマリ出力を選択。
  6. サービスプロジェクトのカスタム動作を追加(サービスインストール)
    → 追加方法
    1. ソリューションエクスプローラーからセットアッププロジェクト(C)を選択して右クリック。
    2. >表示>カスタム動作>サービスプロジェクトのプライマリ出力を選択。
    3. カスタム動作画面にて、カスタム動作を選択して右クリック。
    4. >アプリケーションフォルダを選択して OK>(アクティブ)のプライマリ出力を選択して OK。

必要な設定。

  • (A) ServiceBase プロパティ
    • AutoLog:イベントログの自動出力設定
    • ServiceName:AutoLog が有効なときこの名前でログが出力される。
    • CanShutdown:シャットダウン時に通知を受け取るか。
  • (B) Installer プロパティ
    こいつ自体は特になし。
    こいつらに乗ってるやつらの設定が必要↓
  • serviceProcessInstaller プロパティ
    • Account:サービスの起動アカウント。LocalSystem > NetworkService > LocalService
  • serviceInstaller プロパティ
    • Description:サービスの一覧で出る説明文。
    • DisplayName:サービスの一覧で出る名称。
    • StartType:サービスの起動タイプ。自動(遅延)はないっぽい。
  • (C) のプロパティ(デザイナ) (D)
    インストール時の設定とか。表示名とか。
    • RemovePreviousVersions:再インストール時に削除してくれる。
    • ProductName,Manufactureとか:インストール時の表示とか。
  • (C)表示→ファイルシステム
    アプリケーションフォルダのプロパティ
    • DefaultLocation:インストール先。ここの[xxx]は(D)で設定してあるもの。