Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.
Installing Windows Service
-
Hi Matt,
Thanks for the help, I have been able to install the service, but it does not work, it starts and stops alone and when is running I can't access mango.
Any thoughts?
Thanks!
Rodrigo -
I have found this in the wrapper at C:\Mango\yajsw\log\wrapper
WARNING|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|YAJSW: yajsw-stable-11.11 WARNING|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|OS : Windows 10/10.0/amd64 WARNING|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|JVM : AdoptOpenJDK/11.0.9/C:\Program Files\AdoptOpenJDK\jdk-11.0.9.11-hotspot/64 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|ahessian jmx service bound to port 15002 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|working dir C:\Mango\bin [null - INFO] 20-11-05 12:29:58 Error in createScript scripts/trayMessage.gv Exception in org.rzo.yajsw.log.MyLogger: Could not determine the last modified timestamp of "file:///C:/WINDOWS/system32/scripts/trayMessage.gv" because it does not exist. org.apache.commons.vfs2.provider.DefaultFileContent.getLastModifiedTime(DefaultFileContent.java:165) org.rzo.yajsw.script.GroovyScript.getScriptInstance(GroovyScript.java:103) org.rzo.yajsw.script.GroovyScript.<init>(GroovyScript.java:77) org.rzo.yajsw.script.ScriptFactory.createScript(ScriptFactory.java:45) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerScript(AbstractWrappedProcess.java:1853) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerActions(AbstractWrappedProcess.java:1738) org.rzo.yajsw.wrapper.AbstractWrappedProcess.startInternal(AbstractWrappedProcess.java:1044) org.rzo.yajsw.wrapper.AbstractWrappedProcess.start(AbstractWrappedProcess.java:923) org.rzo.yajsw.wrapper.WrappedProcessList.startAll(WrappedProcessList.java:11) org.rzo.yajsw.app.WrapperMainServiceWin$1.run(WrapperMainServiceWin.java:153) java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:834) INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|error initializing script scripts/trayMessage.gv INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|started process with pid 7976 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|restart process due to default exit code rule INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|restart internal RUNNING INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:58|stopping process with pid/timeout 7976 45000 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:29:59|process exit code: 999 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:04|working dir C:\Mango\bin [null - INFO] 20-11-05 12:30:04 Error in createScript scripts/trayMessage.gv Exception in org.rzo.yajsw.log.MyLogger: Could not determine the last modified timestamp of "file:///C:/WINDOWS/system32/scripts/trayMessage.gv" because it does not exist. org.apache.commons.vfs2.provider.DefaultFileContent.getLastModifiedTime(DefaultFileContent.java:165) org.rzo.yajsw.script.GroovyScript.getScriptInstance(GroovyScript.java:103) org.rzo.yajsw.script.GroovyScript.<init>(GroovyScript.java:77) org.rzo.yajsw.script.ScriptFactory.createScript(ScriptFactory.java:45) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerScript(AbstractWrappedProcess.java:1853) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerActions(AbstractWrappedProcess.java:1738) org.rzo.yajsw.wrapper.AbstractWrappedProcess.startInternal(AbstractWrappedProcess.java:1044) org.rzo.yajsw.wrapper.AbstractWrappedProcess.restartInternal(AbstractWrappedProcess.java:2565) org.rzo.yajsw.wrapper.WrappedJavaProcess$2.fire(WrappedJavaProcess.java:557) org.rzo.yajsw.controller.AbstractController.handleListeners(AbstractController.java:108) org.rzo.yajsw.controller.AbstractController.setState(AbstractController.java:146) org.rzo.yajsw.controller.jvm.JVMController$4$1.run(JVMController.java:701) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:834) INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:04|error initializing script scripts/trayMessage.gv INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:04|started process with pid 9660 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:04|restart process due to default exit code rule INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:04|restart internal RUNNING INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:04|stopping process with pid/timeout 9660 45000 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:05|process exit code: 999 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:10|working dir C:\Mango\bin [null - INFO] 20-11-05 12:30:10 Error in createScript scripts/trayMessage.gv Exception in org.rzo.yajsw.log.MyLogger: Could not determine the last modified timestamp of "file:///C:/WINDOWS/system32/scripts/trayMessage.gv" because it does not exist. org.apache.commons.vfs2.provider.DefaultFileContent.getLastModifiedTime(DefaultFileContent.java:165) org.rzo.yajsw.script.GroovyScript.getScriptInstance(GroovyScript.java:103) org.rzo.yajsw.script.GroovyScript.<init>(GroovyScript.java:77) org.rzo.yajsw.script.ScriptFactory.createScript(ScriptFactory.java:45) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerScript(AbstractWrappedProcess.java:1853) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerActions(AbstractWrappedProcess.java:1738) org.rzo.yajsw.wrapper.AbstractWrappedProcess.startInternal(AbstractWrappedProcess.java:1044) org.rzo.yajsw.wrapper.AbstractWrappedProcess.restartInternal(AbstractWrappedProcess.java:2565) org.rzo.yajsw.wrapper.WrappedJavaProcess$2.fire(WrappedJavaProcess.java:557) org.rzo.yajsw.controller.AbstractController.handleListeners(AbstractController.java:108) org.rzo.yajsw.controller.AbstractController.setState(AbstractController.java:146) org.rzo.yajsw.controller.jvm.JVMController$4$1.run(JVMController.java:701) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:834) INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:10|error initializing script scripts/trayMessage.gv INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:10|started process with pid 8796 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:11|restart process due to default exit code rule INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:11|restart internal RUNNING INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:11|stopping process with pid/timeout 8796 45000 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:11|process exit code: 999 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:16|working dir C:\Mango\bin [null - INFO] 20-11-05 12:30:16 Error in createScript scripts/trayMessage.gv Exception in org.rzo.yajsw.log.MyLogger: Could not determine the last modified timestamp of "file:///C:/WINDOWS/system32/scripts/trayMessage.gv" because it does not exist. org.apache.commons.vfs2.provider.DefaultFileContent.getLastModifiedTime(DefaultFileContent.java:165) org.rzo.yajsw.script.GroovyScript.getScriptInstance(GroovyScript.java:103) org.rzo.yajsw.script.GroovyScript.<init>(GroovyScript.java:77) org.rzo.yajsw.script.ScriptFactory.createScript(ScriptFactory.java:45) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerScript(AbstractWrappedProcess.java:1853) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerActions(AbstractWrappedProcess.java:1738) org.rzo.yajsw.wrapper.AbstractWrappedProcess.startInternal(AbstractWrappedProcess.java:1044) org.rzo.yajsw.wrapper.AbstractWrappedProcess.restartInternal(AbstractWrappedProcess.java:2565) org.rzo.yajsw.wrapper.WrappedJavaProcess$2.fire(WrappedJavaProcess.java:557) org.rzo.yajsw.controller.AbstractController.handleListeners(AbstractController.java:108) org.rzo.yajsw.controller.AbstractController.setState(AbstractController.java:146) org.rzo.yajsw.controller.jvm.JVMController$4$1.run(JVMController.java:701) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:834) INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:16|error initializing script scripts/trayMessage.gv INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:16|started process with pid 2964 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:17|restart process due to default exit code rule INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:17|restart internal RUNNING INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:17|stopping process with pid/timeout 2964 45000 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:17|process exit code: 999 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:22|working dir C:\Mango\bin [null - INFO] 20-11-05 12:30:22 Error in createScript scripts/trayMessage.gv Exception in org.rzo.yajsw.log.MyLogger: Could not determine the last modified timestamp of "file:///C:/WINDOWS/system32/scripts/trayMessage.gv" because it does not exist. org.apache.commons.vfs2.provider.DefaultFileContent.getLastModifiedTime(DefaultFileContent.java:165) org.rzo.yajsw.script.GroovyScript.getScriptInstance(GroovyScript.java:103) org.rzo.yajsw.script.GroovyScript.<init>(GroovyScript.java:77) org.rzo.yajsw.script.ScriptFactory.createScript(ScriptFactory.java:45) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerScript(AbstractWrappedProcess.java:1853) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerActions(AbstractWrappedProcess.java:1738) org.rzo.yajsw.wrapper.AbstractWrappedProcess.startInternal(AbstractWrappedProcess.java:1044) org.rzo.yajsw.wrapper.AbstractWrappedProcess.restartInternal(AbstractWrappedProcess.java:2565) org.rzo.yajsw.wrapper.WrappedJavaProcess$2.fire(WrappedJavaProcess.java:557) org.rzo.yajsw.controller.AbstractController.handleListeners(AbstractController.java:108) org.rzo.yajsw.controller.AbstractController.setState(AbstractController.java:146) org.rzo.yajsw.controller.jvm.JVMController$4$1.run(JVMController.java:701) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:834) INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:22|error initializing script scripts/trayMessage.gv INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:22|started process with pid 9584 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:23|restart process due to default exit code rule INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:23|restart internal RUNNING INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:23|stopping process with pid/timeout 9584 45000 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:23|process exit code: 999 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|working dir C:\Mango\bin [null - INFO] 20-11-05 12:30:29 Error in createScript scripts/trayMessage.gv Exception in org.rzo.yajsw.log.MyLogger: Could not determine the last modified timestamp of "file:///C:/WINDOWS/system32/scripts/trayMessage.gv" because it does not exist. org.apache.commons.vfs2.provider.DefaultFileContent.getLastModifiedTime(DefaultFileContent.java:165) org.rzo.yajsw.script.GroovyScript.getScriptInstance(GroovyScript.java:103) org.rzo.yajsw.script.GroovyScript.<init>(GroovyScript.java:77) org.rzo.yajsw.script.ScriptFactory.createScript(ScriptFactory.java:45) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerScript(AbstractWrappedProcess.java:1853) org.rzo.yajsw.wrapper.AbstractWrappedProcess.getTriggerActions(AbstractWrappedProcess.java:1738) org.rzo.yajsw.wrapper.AbstractWrappedProcess.startInternal(AbstractWrappedProcess.java:1044) org.rzo.yajsw.wrapper.AbstractWrappedProcess.restartInternal(AbstractWrappedProcess.java:2565) org.rzo.yajsw.wrapper.WrappedJavaProcess$2.fire(WrappedJavaProcess.java:557) org.rzo.yajsw.controller.AbstractController.handleListeners(AbstractController.java:108) org.rzo.yajsw.controller.AbstractController.setState(AbstractController.java:146) org.rzo.yajsw.controller.jvm.JVMController$4$1.run(JVMController.java:701) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:834) INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|error initializing script scripts/trayMessage.gv INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|started process with pid 892 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|too many restarts INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|process not in state RUNNING -> Delaying stop INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|calling onStop INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|Win service stop - timeout: 30000 INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|Win service wrapper.control -> stopping application INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|Win service stop - after shutdown INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|Win service stop - before notify INFO|wrapper|Service com.serotonin.m2m2.Main|20-11-05 12:30:29|Win service terminated
-
Looks like a missing file to me
-
javaws.jar is not included in AdoptOpenJDK which is required for YAJSW to work.
-
Thanks Wingnut
-
Thanks Matt / Wingnut
Can you guys elaborate a little on how to fix it?
Best,
Rodrigo -
Hello Rodrigo,
I have found that if you want to run a version of 3.7.7 or lower on Windows as a service your best bet is Installing Oracle JDK 8. I know it doesn't necessarily follow the recommendation's here, but it allows you to run as a service.
https://docs-v3.mango-os.com/installing-java
-
For Mango versions 3.6.x and higher we recommend using the latest version of Adopt OpenJDK.
-
For Mango versions 3.5.x and lower you should use JDK 8 (OpenJDK 8 should work however we primarily tested on Oracle JDK). Older versions of Mango may not work correctly if you use a newer JDK.
-
OpenJDK 8 builds for ARM 32 processors seem to perform extremely poorly, we suggest avoiding this JDK
Another option that I haven't looked into is explained here.
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-service?view=powershell-7 -
-
Wingnut,
You think I should buy an Oracle JDK 8 license?
Best,
Rodrigo -
Hello Rodrigo,
Here is another alternative. This works on windows with AdoptOpenJDK 11.
NSSM - the Non-Sucking Service Manager
-
@wingnut2-0 said in Installing Windows Service:
NSSM - the Non-Sucking Service Manager
I laughed a little too hard at that one
-
hahaha
I will try to use this and get back to you with news.
Thanks guys!
Best,
Rodrigo -
When changing to a service on windows your GUID will more than likely change (Thank you Dave)
This will require a request to transfer you license from the old GUID to the new one.If you run into that - below is the link to request the transfer.
https://mango-os.com/license-help -
Hi guys,
I have not been able to solve this. I don't know how to use this https://nssm.cc/
What can I do?
@Wingnut2-0 you recommended Oracle JDK 8, is it free for this use?Thanks,
Rodrigo -
Hi, I just installed Mango V4 latest beta. However, Mango service cannot start automatically. I have to run mango.cmd in command promt as administrator.
When I tried to start the service in Services.msc, error 1067 occurrs.
I already installed AdoptJDK 11 and assign environment variable. -
Did you check this page: https://docs-v4.mango-os.com/windows-installation
Are you seeing any errors in eventviewer that you can share?
-
@dschaible said in Installing Windows Service:
Did you check this page: https://docs-v4.mango-os.com/windows-installation
Are you seeing any errors in eventviewer that you can share?
I just found out the reason. Of course I follow above instruction but instead of installing mango in C drive, I created a folder named SCADA in C:\Program Files\ and have mango and mango_data folder in SCADA folder. Maybe the name Program Files is not easy to identify with windows services. This should be added in the instruction.