VisualStudio.NET2003では、簡単にWindowsサービスを作成することが出来ます。
*** Windowsサービスプロジェクトの作成
-「新規作成」「プロジェクト」から「Windows サービス」を選択すると、System.ServiceProcess.ServiceBaseを継承したスケルトンクラスが生成されます。
-OnStart(),OnStop(),OnShutDown()などのメソッドに、C#コードを記述できます。
*** インストーラの作成
#ref(addInstaller.png,around,right);
WindowsサービスをOSに組み込むには、コマンドラインツール(regsvr32)で登録してもいいのですが、VS.NETを使っているならインストーラを作っちゃう方が簡単です。
-デザイナビューでプロパティWindow下部に、「インストーラの追加(I)」をクリックすると、ProjectInstaller.csが作成されます。
-ProjectInstallerクラスには、serviceProcessInstaller1とserviceInstaller1がフィールドとして含まれています。
-ServiceProcessInstallerには、サービス実行アカウントの設定なんかをさせればよいかと
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
-ServiceInstallerには、サービスのプロパティなんかを設定すればよいかと
this.serviceInstaller1.ServiceName = "TestWindowsService";
this.serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic;
this.serviceInstaller1.DisplayName = "Test Service";
#ref(customAction.png,around,right);
-このインストーラクラスの動作を有効にするには、このWindowsサービス用のセットアッププロジェクトを作成して、全てのカスタム動作にプライマリ出力を登録すればOK。
実装サンプル:~
[[DynamicDNS更新Windowsサービス>C#/サンプル/DynamicDNS更新Windowsサービス]]
[[DynamicDNS更新Windowsサービス>C#/サンプル/DynamicDNS更新Windowsサービス]]~
関連:~
[[Visual Studio Installer>C#/Visual Studio Installer]]