Windows Serviceを作る & サービスのインストールコマンド | Visual Basic

Windows Serviceを作る & サービスのインストールコマンド | Visual Basic

今回は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サービスの作り方を検証しました。

ではまた!