VisualStudio 2005
新しいプロジェクトからサービスのテンプレートを選択し、実行する
作成したプログラムをWindowsのサービスに登録するには2つの手順を踏む必要がある
1.プログラムのインストール
2.サービスへの登録
両方を行わないとできない。
方法としては以下の手段をとる
1.installutil.exeを使用する方法
すべてのプログラム→VisualStudio→VisualStudioツール→VisualStudioコマンドライン
installutil.exe サービスに登録したいプログラム名
※installutil.exe /u サービスに登録したいプログラム名
でサービスから削除できる
2.VisualStudioからセットアッププロジェクトを利用する方法
プロジェクトを作成したときにできるファイル(規定ではService1.vb)のデザインタブを開き、右クリックでインストーラの追加をする
作成されたServiceInstaller1のServiceName プロパティを作成するサービス名と同じにしておく
ソリューションにセットアップ プロジェクト(インストーラ用のプロジェクト)を追加する
カスタム動作を設定する
セットアッププロジェクトを右クリック、表示→カスタム動作→カスタム動作の追加
アプリケーションフォルダを選択し、OK
hoge(アクティブ) のプライマリ出力を選択し、OK
インストール、確定、ロールバック、アンインストールにhoge(アクティブ) のプライマリ出力が表示される
※カスタム動作を設定することにより、インストール後、インストールされたプログラムがサービスとして登録される
ソリューション全体をリビルドし、セットアッププロジェクトを右クリック、インストールでサービスに登録される
デバッグ方法
管理ツールのサービスから、目的のサービスを起動させておく
VisualStudio 2005のツールから、プロセスにアタッチを行う
一覧から目的のサービスを探す。ない場合は、すべてのユーザーからのプロセスを表示するにチェックを入れる
サービスを選択し、アタッチを押下する
サービスから起動させてからアタッチするので、OnStartイベントはデバッグできないようだ
必要であれば、ログファイルを出力させるなどする
参考サイト
http://support.microsoft.com/kb/317421/ja
http://msdn.microsoft.com/ja-jp/library/y817hyb6%28VS.80%29.aspx
http://chaichan.web.infoseek.co.jp/vbtips/VBMemo2007-08-042.htm
http://dobon.net/vb/dotnet/deployment/installservice.html
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=24965&forum=7&start=0
http://www.itmedia.co.jp/enterprise/articles/0502/01/news083.html
http://shinshu.fm/MHz/95.83/archives/0000091581.html
http://d.hatena.ne.jp/frontline/20070322/p2
http://moge.blog.drecom.jp/archive/24
http://momotchi.net/forums/t/1015.aspx
http://kilala.mydns.jp/dottextweb/articles/454.aspx
http://axion.sakura.ne.jp/blog/index.php?UID=1184758703