バッチ で Windowsサービス を インストール、アンインストール する 方法

0 件のコメント

バッチ処理 で Windowsサービス を インストール(OSに登録) または アンインストール(登録解除) する方法です。 Visual Studio が入っている場合、"Visual Studio コマンドプロンプト" を用いることでインストール、アンインストールできますが… ここでは、Visual Studio が入っていない環境(デプロイ先)でバッチによるインストール、アンインストールの方法を記載します。

目次

Windowsサービス インストール バッチ

"WindowsService1.exe" をインストールするサンプルバッチです。 インストールしたいサービスと同じディレクトリにおいて、管理者権限で実行することでインストールできます。

@echo off

rem カレントディレクトリへ移動
cd /d "%~dp0"

rem アセンブリ名を設定
set ASSEMBLY_NAME=WindowsService1.exe

rem .NET Framework への パス を追加
set NET35=%WINDIR%\Microsoft.NET\Framework\v3.5
set NET40=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
set PATH=%NET40%;%NET35%;%PATH%

rem Windowsサービスをインストール
installutil %ASSEMBLY_NAME%

Windowsサービス アンインストール バッチ

"WindowsService1.exe" をアンインストールするサンプルバッチです。 アンインストールしたいサービスと同じディレクトリにおいて、管理者権限で実行することでアンインストールできます。

@echo off

rem カレントディレクトリへ移動
cd /d "%~dp0"

rem アセンブリ名を設定
set ASSEMBLY_NAME=WindowsService1.exe

rem .NET Framework への パス を追加
set NET35=%WINDIR%\Microsoft.NET\Framework\v3.5
set NET40=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
set PATH=%NET40%;%NET35%;%PATH%

rem Windowsサービスをインストール
installutil /u %ASSEMBLY_NAME%

InstallUtil コマンド 解説

InstallUtil は 通常利用で "インストール"、 "/u" オプションを指定で "アンインストール" になります。 以下はヘルプのほぼコピペです。。

使い方:

InstallUtil [/u | /uninstall] [オプション [...]] アセンブリ [[オプション [...]] アセンブリ][...]]

オプション:

/u または /uninstall スイッチが指定された場合アセンブリをアンインストールします。 /u または /uninstall がない場合はアセンブリをインストールします。
/AssemblyName アセンブリ パラメーターはアセンブリ名 (名前、ロケール、PublicKeyToken、 バージョン) と解釈されます。既定では、ディスク上のアセンブリの ファイル名と解釈されます。
/LogFile=[filename] 書き込むファイルです。空の場合はログを書き込みません。既定値は <assemblyname>.InstallLog です。
/LogToConsole={true|false} false の場合、コンソールに出力を表示しません。
/ShowCallStack インストール中に例外が発生した場合、コール スタックがログに 書き出されます。
/InstallStateDir=[directoryname] .InstallState ファイルが格納されるディレクトリ。既定値は アセンブリのディレクトリです。

関連記事