.net でサービスインストーラーで必要な設定。
必要な設定が分散してるのでいろいろ迷う。なんで覚えてるうちにメモ。
サービスインストーラーの作り方。
- サービスプロジェクト(A)を作る。
- サービスのデザイナのプロパティ(もしくは右クリック)からインストーラーの追加を選択。
- サービス用のインストーラー(B)が出来る。
- セットアッププロジェクト(C)を追加。
- サービスプロジェクトのプライマリ出力を追加
→ 追加方法- ソリューションエクスプローラーからセットアッププロジェクトを選択して右クリック。
- >追加>プロジェクトの出力>サービスプロジェクトのプライマリ出力を選択。
- サービスプロジェクトのカスタム動作を追加(サービスインストール)
→ 追加方法- ソリューションエクスプローラーからセットアッププロジェクト(C)を選択して右クリック。
- >表示>カスタム動作>サービスプロジェクトのプライマリ出力を選択。
- カスタム動作画面にて、カスタム動作を選択して右クリック。
- >アプリケーションフォルダを選択して 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)で設定してあるもの。