Windows Serviceを作る & サービスのインストールコマンド | Visual Basic
- 2022.07.10
- 開発系
今回はWindwos Serviceの作り方を検証しました。
以下のMSDocが参考になります。
手順 ~Windowsサービスの作成~
今回はVisual Studioで作成します。手順は以下の通りです。
①新規プロジェクトの作成>Windowsサービス を検索
今回は「Windows サービス(.Net Framework)」を選択します。
②プロジェクト名を設定します。
③インストーラの追加
以下の画面で右クリックをし「インストーラの追加」を実行します。
以下のインストーラが生成されればOKです。
④コードビューに切り替えます、をクリック
ちょっと見にくい画像ですが、「コードビューに切り替えます」をクリックします。
以下の様なコードエディタ画面に遷移します。
・OnStartが「サービス開始時に実行されるコード」
・OnStopが「サービス終了時に実行されるコード」
④コードを記述する
今回は以下の様に記述しました。サービスがスタートした際に、イベントログに「Hello World」というログが残ります。
Public Class Service1
Protected Overrides Sub OnStart(ByVal args() As String)
EventLog.WriteEntry("Hello World")
End Sub
Protected Overrides Sub OnStop()
End Sub
End Class
⑤Accountを「LocalSystem」に変更する
サービスを実行するアカウントになります。
ローカルユーザやドメインユーザを指定したい場合は「User」を選択します。
⑥ソリューションをbuildする
ビルド>ソリューションのビルドをクリックします。
ビルドが成功すれば、ソリューションのbin>Debugフォルダにexeファイルが生成されます。
ここまででWindowsサービス向けのプログラム生成は完了です。次にサービスにインストールします。
手順 ~Windowsサービスのインストール~
①サービスにインストールする
コマンドプロンプトを「管理者権限」で起動したうえで以下を実行します。
記法: installutil {インストール対象のexeファイルのパス}
installutil C:\Users\ユーザー\source\repos\WindowsService_Test\WindowsService_Test\bin\Debug\WindowsService_Test.exe
・installutil が サービスのインストール
・installutil /u が サービスのアンインストール
installutilのパスを通す
「installutil.exeが見つからない」とのメッセージが表示される場合は以下の場所に格納されていますので、こちらを環境変数のパスに追加します。
C:\Windows\Microsoft.NET\Framework\v4.0.30319
②サービスを開始する
インストールしたWindowsサービスを開始するため、サービスを起動します。ファイル名を指定して実行から起動する場合は、「services.msc」で起動できます。
今回のサービス名は「Service1」ですが、以下のように登録されていることが分かります。
右クリックから「開始」をクリックすることでサービスが開始します。
③イベントログを確認する
イベントビュアーを開きます。スタートボタンを右クリックし、イベントビュアーをクリックします。
今回のイベントログを確認すると以下の様なログが表示されています。Hello Worldが表示されていることが分かります。
まとめ
今回はWindowsサービスの作り方を検証しました。
ではまた!
-
前の記事
Windows11 | [最近使ったファイル]を表示する 2022.06.02
-
次の記事
Visual Studio Codeのインストール 2022.07.24