アプリケーションを Windows サービスに登録するときに「コンフィグファイルを食わせて登録したいんだけどな~」などなど、引数を付けて登録したい場合があると思います。
そこで今回は、PowerShell コマンドを利用して、任意のアプリケーションを引数付きで Windows サービスに登録する方法を説明します。
アプリケーションを引数付きで Windows サービスに登録する方法
最初に答えを書いてしまうと、PowerShell で次のようなコマンドを実行すれば、アプリケーションを引数付きで Windwos サービスに登録できます。
sc create {任意のサービス名} binPath= "C:\workspace\YourApp.exe {引数1} {引数2} ... {引数N}"
また、すでに登録済みの Windows サービスに引数を追加したい場合は、下記のようなコマンドでOKです。
sc config {任意のサービス名} binPath= "C:\workspace\YourApp.exe {引数1} {引数2} ... {引数N}"
たとえば、任意のフォルダにあるMyApp.exe
というアプリケーションに--config
オプションでコンフィグファイルを食わせながら「MyAppService」という名前で Windows サービスへ登録するとします。
PowerShell はMyApp.exe
が格納されているフォルダに移動済みと仮定して、カレントフォルダを表す%~dp0
を使用してみます。
また、Windows サービスのスタートアップの種類を「自動」にするため、start=auto
を指定します。
この場合、コマンドは下記のようになります。
sc create MyAppService binPath= "%~dp0\MyApp.exe --config %~dp0\myapp.config" start= auto
【余談】登録済みの Windows サービスを削除する方法
ちなみに、登録済みの Windows サービスを削除したい場合は、下記のようなコマンドを叩きます。
sc delete {サービス名}
以上