C#にてサービスアプリを作る方法

割と簡単に出来たけど
行き着くまでが,ちょいと大変だったんで,ここにカキコしておきます

なお,VisualStudio2005にて作ってみました

    1.VS2005を立ち上げ,新規プロジェクトにて,[C#][Windowsサービス]を選択,スケルトンを生成

    2.Service1.csのUIデザイン画面を表示させ,マウスを右クリック,[インストーラを追加]を選択
    (これをやらないと,サービス登録してくれない)

    3.ProjectInstaller.csなるファイルが追加され,serviceProcessInstallerserviceInstallerのコンポーネントも追加されているはず

    4.serviceProcessInstallerコンポーネントのAccountプロパティを,Localserviceに変えておくと,幸せになれるかも

    5.serviceInstallerコンポーネントのServiceNameプロパティと,Service1.csのUIデザイン画面のServiceNameプロパティを適時変更(この辺りの名前でサービス名が登録される)

    6.一度ビルドかける

    7.C:¥Windows¥のフォルダ下にNet Framework関連のフォルダがあるはず.
    この中から,InstallUtil.exeを見つけ出し,ビルド出力先へコピー

    8.コマンドプロンプト立ち上げて,ビルド出力先へ移動

    9.InstallUtil hogehoge.exeとコマンド叩いて,にて,サービスの登録

    10.Net start (5.で設定したサービス名)を叩いて,サービスが起動するか確認

    11.Net stop (5.で設定したサービス名)を叩いて,サービスが停止するか確認
ってとこで,スケルトンまでは作成完了

そっから先は,試してないけど 😎

Service1.csの中の
Service1.OnStart()で,スレッド立ち上げて,無限ループ作って,処理を行い
Service1.OnStop()で,スレッドを殺す
ってな感じになっていくのかな??

スレッドの作り方は,うちのブログの,こちらあたりのページを参考にされれば...

C#での動的スレッド対応コードのサンプル@ぎんゆぅ~
C#でのスレッド対応コードのサンプル@ぎんゆぅ~

なんかに使えそうだよなぁ...>サービス
技術応用,考えてみますわん :mrgreen:



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください