Apache の procrun を使用して Windows サービスを作成していますが、適切にセットアップするのに苦労しています。バッチ ファイルを使用して procrun インストールを実行しています。私の質問は 2 つあります。
名前にスペースが含まれるサービスを作成できません。この例は Apache から取得したもので、prunsrv サービスのインストールをセットアップしています。
prunsrv //IS//TestService --DisplayName="Test Service" \ --Install=prunsrv.exe --Jvm=auto --StartMode=jvm --StopMode=jvm \ --StartClass=org.apache.SomeStartClass --StartParams=arg1;arg2;arg3 \ --StopClass=org.apache.SomeStopClass --StopParams=arg1#arg2
C:\Program Files\ のどこかにインストール済みのサービスがあり、スペースが含まれています。正しいパスを正しく指すには、 --Install パスを「C:\Program Files\prunsrv.exe」にする必要があります。パスを引用符で囲まない場合:
--Install=C:\Program Files\prunsrv.exe
Windows サービスは、インストール パスを次のように認識します。
C:\Program
これは無効な場所です。私が使用する場合:
--Install="C:\Program Files\prunsrv.exe" (or) "--Install=C:\Program Files\prunsrv.exe"
Windows サービスは、インストール パスを次のように認識します。
"C:\Program Files\prunsrv.exe"
...これも無効な場所です(文字通り、引用符でそのパスを実行しようとします。)
パスにスペースを含む Windows サービスを正しくインストールする方法を知っている人はいますか?
さらに複雑な問題が発生した場合は、より詳細なドキュメントがあると便利です。procrun に関する追加のドキュメントや使用例はありますか? これまでに見つけたリソースのリストは次のとおりです。
- http://commons.apache.org/daemon/procrun.html
- http://srsprasad.blogspot.com/2010/04/converting-java-class-to-windows.html
- http://kickjava.com/src/org/apache/commons/daemon/SimpleDaemon.java.htm
他の質問で使用されている適切なリソースが利用できなくなったようです: http://blog.platinumsolutions.com/node/234