2015-07-31 29 views
7

Próbuję użyć Inno Setup, aby zainstalować usługę Windows jako pliku jar działa pod NSSM (bez ssania Obsługi Manager)Instalowanie obsługi Java w systemie Windows 7 z NSSM

nssm install JarService java -jar service.jar nssm start JarService

kończy się wprowadzenie moja usługa w stanie "Wstrzymano" i nie wydaje się, aby zacząć.

Ponieważ lokalizacja pliku java.exe może się zmieniać wraz z aktualizacjami, chcę mieć możliwość uruchomienia usługi bez jawnej ścieżki do pliku java.exe, w jaki sposób mogę uruchomić usługę Java bez jawnej ścieżki w NSSM?

Odpowiedz

7

W zeszłym tygodniu musiałem zrobić coś bardzo podobnego. Kiedy zastąpić „Java” z pełną ścieżką do java.exe, mogę uruchomić usługę, więc:

nssm install JarService FullPath/java.exe -jar service.jar 

powinno działać. Nie sądzę, że NSSM szuka ścieżki do swojej aplikacji.

+0

Wydawało się, że rade. Dzięki! – mcarr

1

musiałem utworzyć skrypt PowerShell uruchomić usługę Java:

java.exe -jar service.jar 

Potem odwoływać pełną ścieżkę do PowerShell w sekcji [Run] Inno Setup to:

Filename: "{app}\nssm.exe"; Parameters: "install ""{#MyAppName}"" ""{sys}\WindowsPowerShell\v1.0\powershell.exe"" ""-ExecutionPolicy Unrestricted -File {app}\runservice.ps1"""; Flags: runhidden 

Dopóki ponieważ powershell nie porusza się, to powinno działać.

1

W systemie Windows 2012 R2 OS, użyłem:

nssm install MyServiceName "C:\Program Files\MyServiceName\start.bat" 

Następnie w pliku wsadowym start.bat, mam:

java -cp "C:\Program Files\MyServiceName\MyServiceName.jar" com.package.MyServiceMainClass 
Powiązane problemy