New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatic Messic Service Start in Windows #123
Comments
Hi good morning ruayrod, We're looking over your request; there's a messicservice.vbs into bin folder which do that; please let us to configurate this script properly to run automatically from windows 7 or 10 like a service; we'll answer u as soon as possible. |
Ok. Thank you. While I try myself with that file. |
Yes, messicservice.vbs is one option. In windows, the messic service is launched by this visual basic script file, but it receives two parameters: the whole classpath (list of jars separated by semicolon ; ), and a second parameter which is the absolute path for the music folder. Then, the call to this vbs could be something like: messicservice.vbs "../classpath/firstfile.jar;../classpath/secondfile.jar;etc..." c:\mi\path\to\my\musicfolder so, the problem is just to put as the first param all the jars files in the classpath messic folder. In linux we do this by scripting, you can build the same for windows or just put adhoc all the existing files in classpath folder. The second option, which in my opinion is better, is to call directly to the monitor app by console. The monitor is the app which start and stop the monitor. Could you (@AlmostLook or @ruayrod ) check if you can for example do this in windows? (I don't have a windows at this moment near) messic.exe -? could you tell me if this return a help command menu? if it works, then you can start and stop the service by command. If it is not possible, then there is other option, which is to call directly to the java monitor class. Check that and let me know the result please. |
Hi spheras, the first options don't go on, maybe I don't be write correctly. Sorry my bad english. |
Hi @ruayrod, i will continue in spanish if you feel more comfortable and after translate to english the final solution (in other ticket to alow other persons to read it, in fact we should create a wiki section for this. I think it is very interesting - by the way, do you mind to write it when we finally solve this?? :D, as you see we need a lot of help) Arrancar messic como servicio es sencillo, desde el punto de vista de las clases javas a las que hay que llamar, aunque no esta documentado. La dificultad estriba en los scripts/binarios que se han creado para cada sistema operativo para facilitar la tarea de levantar el monitor. La applicación de monitor recibe parámetros precisamente para este tipo de cosas, levantar messic, pararlo, etc.. sin necesidad de ventana alguna. El problema es que en el caso de windows, el exe que se ha creado es difícil (no imposible) decirle que le de los parámetros a la clase java. No he tenido mucho tiempo de mirarlo, pero para que tengas una solución rápida te he creado un fichero bat de ejemplo que llama al monitor directamente (sin exe), al cual sí le puedes pasar parámetros. Crea un fichero .bat que se llame messicservice.bat en la carpeta raiz de messic (en la raíz, no lo copies dentro de la carpeta bin). Este es el contenido que tienes que poner dentro:
como ves, el fichero lo que hace es llamar a la máquina virtual pasándole los ficheros jars que necesita (están puestos a fuego en el fichero por hacerlo rápido) y al final todos los parámetros que tú uses al llamar al .bat.
vas a ver todas las opciones posibles. De tal forma que si quieres levantar el servidor tienes que escribir: y si quieres pararlo:
A partir de ahí habria que crear un servicio windows o ponerlo en aplicaciones de inicio de windows. Sinceramente no sé cómo se hace esto, pero seguro que google nos puede decir mucho. Gracias!! |
Bueno, pues después de probar varias veces y que no me funcionara, he descubierto que era fallo mio, hay que ejecutar el archivo .bat en modo administrador y todo funciona perfectamente. Por lo que explico en el siguiente comentario como hacer para el arranque automático desde Windows. |
El único problema que le veo a hacer esto, a la hora de ser transparente al usuario que lo ejecuta, es que aparece la ventana de ms-dos durante más de 50-60 segundos hasta que la tarea se ejecuta y se cierra automáticamente dicha ventana. Parece como si le costara arrancar al servicio. Aunque en la ventana ya se puede leer el último "bye!", no se cierra hasta pasado ese tiempo, lo que puede ocasionar el cierre repentino ocasionado por el usuario impaciente... |
muchas gracias por las pantallas. En cuanto tenga un hueco voy a ver la forma de publicar esta información en la wiki por si alguien más quiere hacer lo mismo. aquí hay un ejemplo de cómo debería ser ese vbscript este debería ser el aspecto, creo (no lo he probado):
|
mmmm, insisto, yo creo que debería funcionar. :D |
@ruayrod he estado probando hoy a lanzar el servicio a través del .exe y se puede perfectamente.
con eso levantarías el servicio, si pones en lugar de start, stop lo matas, a mi me funciona perfectamente. Si quieres ver lo que está pasando por debajo (el log de consola, te puedo indicar cómo hacerlo) |
No se si funcionará esto, pero el Programador de Tareas deja exportar la configuración de las mismas, que igual podeis usar para que se genere automáticamente al instalar messic en windows y se importe para el usuario que desee iniciar el servicio al inciar sesión. Imagino que con cada ordenador los datos de las etiquetas "Author", "UserId" y "Command" deben de variar individualmente para cada instalación. En este caso, están mis datos "MiPC\ruayrod", "MiPC\ruayrod" y "C:\Program Files (x86)\messic\messic.app\messic_console.exe", respectivamente. |
@ruayrod bien visto lo de messic_console.exe! jeje. Lo he puesto en la versión 1.1.0 para que sea más sencillo ver la consola aunque realmente funciona igual en messic.exe (salvo que no ves lo que devuelve el proceso por la salida estándar). (cómo te va la versión 1.1.0?) En cuanto a lo que me indicas del script del programador de tareas, parece interesante. Creo que lo mejor sería ver la posibilidad de incluirlo en el instalador de nsis. ¿Conoces el instalador de nsis? Quizás se pueda parametrizar para incluirlo ahí como un complemente opcional. Si quieres echarle un vistazo al script de nsis te puedo indicar más o menos por dónde deberías mirar. Gracias!! |
Ok. Dame datos y me pongo a ello. Un placer intentar colaborar. |
genial! tienes alguna experiencia con el instalador de nsis? Cómo lo ves? si quieres/necesitas más detalles de nsis ya me dices. Podemos hacer un hangout o algo. |
Hola Spheras, perdona que no contestara al tema, tuve unos problemas personales que ya casi se han solventado. Ahora ando bastante liado recuperando el tiempo perdido de estos meses, por lo que tengo esto algo aparcado. No te prometo nada, pero lo intentaré en cuanto tenga tiempo para ello. |
Hola @ruayrod. Sí, tranquilo. No hay prisa. Estos proyectos funcionan así, con el poco tiempo libre q tenemos. Espero q todo esté bien. Un saludo! |
Buenas, echando un ojo al ticket por encima :), si me pasáis el script de arranque os preparo un service para windows con sc, también se puede hacer un vbs muy sencillo con un start lo que sea, pero habría que ejecutar el vbs en el arranque. Saludos, |
Hi, guys, how can I automatically start Messic Service in Windows 7 or 10?
Thank you!!
The text was updated successfully, but these errors were encountered: