PDA

Visualizza versione completa : Installare batch come servizio


gutguy
27-03-2005, 20.50.18
Ciao,
ho fatto un batch che lancia una applicazione jar e vorrei che si avviasse in background all'avvio dell'os.
Credo così da poterlo avere sotto Servizi (start-esegui-services.msc), ma come devo farlo?
Perchè se metto un collegamento nel registro qui HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\Run il batch nn me lo avvia (altri programmi si però ma nn in background!!).

Thor
27-03-2005, 21.28.54
http://robert.accettura.com/archives/2003/10/29/background-batch-file/

gutguy
29-03-2005, 15.30.24
Originariamente inviato da Thor
http://robert.accettura.com/archives/2003/10/29/background-batch-file/

Grazie mille (D)

Un modo per aggiungere un programma sotto i servizi esiste?

ceccus
29-03-2005, 20.44.44
SAlve,
PEr averlo nella Service Control Manager (SCM) devi svilupparlo come Servizio....non c'è storia....e per farlo hai 2 alternative

1) Utilizzare il C++ con ATL/STL
2) Utilizzare il Visual Studio .NET (C# o VB.NET o C++)

Ciao !!

gutguy
29-03-2005, 23.28.40
grazie per la risp.
Infatti ho visto in quel link sopra questo codice vb:


Module RunCCNet

Sub main()
Dim psi As New ProcessStartInfo
psi.FileName = “C:batch.bat”
psi.WorkingDirectory = “DaQualcheParte”
psi.WindowStyle = ProcessWindowStyle.Hidden
Process.Start(psi)
End Sub
End Module

gutguy
29-03-2005, 23.32.40
in effetti ora che ci penso il mio batch nn fa latro che fare:


java -jar pippo.jar -public -servicePort 18456 -tcpPort 23854 -udpPort 45128


Come faccio a farlo con visual basic in modo da avere un eseguibile installabile come servizio?

ceccus
30-03-2005, 07.11.58
Salve,
Visual Basic 6 NON è in grado di creare Servizi.....
Esiste un Add-on alias controllo (alias OCX) che lo fa..ma , francamente, te lo sconsiglio....
VB. NET lo può fare tranquillamente.....oppure C++ ATL/STL...a te la scelta....

Ciao !!

Andre@
30-03-2005, 10.54.20
Prova così:
Scarica instsrv.exe (http://www.electrasoft.com/srvany/instsrv.exe) e srvany.exe (http://www.electrasoft.com/srvany/srvany.exe) copiali in una cartella (ad es. c:\programmi\serv) Questi sono 2 file della Microsoft e fanno parte del Windows Server Resource Toolkit (http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en) 12Mb.
Poi da esegui dai il seguente comando:
C:\Programmi\serv\INSTSRV Ciccio C:\Programmi\serv\SRVANY.EXE
Ciccio è il nome che vuoi dare al tuo servizio.
Apri regedit alla chiave HKEY_LOCAL_MACHINES\SYSTEM\CurrentControlSet\Servi cies\Ciccio
Nella cartella Ciccio con il pulsante dx del mouse selezioni New Key e gli assegni il nome Parameters. In Parameters pulsante dx del mouse selezioni New String Value e assegni come nome Application e come valore l'eseguibile java.exe completo della Path dove risiede (ad es. c:\programmi\java\j2re\1.4.2_06\bin\java.exe).
Sempre in Parameters crei una New String Value con nome AppParameters e come valore "-jar pippo.jar -public -servicePort 18456 -tcpPort 23854 -udpPort 45128"
Infine crei una New String Value con nome AppDirectory e valore la path di java.exe (ad es c:\programmi\java\j2re\1.4.2_06\bin\)
Chiudi regedit, vai nei servizi e lo avvii.
Ho già creato dei servizi in questo modo e funzionano, ma è sempre meglio fare una copia del registro.
Saluti

gutguy
30-03-2005, 12.24.35
Ho provato, ma nn si avvia.

Allora io ho fatto un batch che fa:

java -jar netcallback.jar -public -servicePort 31744 -tcpPort 47875 -udpPort 49428

cioè lancia netcallback.jar con relativi parametri, ma come servizio nisba.

Andre@
31-03-2005, 17.37.07
Prova in questo modo:
Dovresti avere già un file .bat con all'interno l'istruzione "java -jar netcallback.jar -public -servicePort 31744 -tcpPort 47875 -udpPort 49428" (ipotizziamo che si chiami ciccio.bat e si trovi in c:\programmi\pluto\
metti
in Application c:\Windows\system32\cmd.exe /k
in AppParameters c:\programmi\pluto\ciccio.bat
in AppDirectory c:\programmi\pluto

Se non funziona metti nel file .bat anche il path di java.exe ad es:
c:\programmi\java\j2re\1.4.2_06\bin\java.exe -jar netcallback.jar -public -servicePort 31744 -tcpPort 47875 -udpPort 49428

Se mi dici dove risiede il tuo batch, il suo nome, dove si trova netcallback.jar, ecc. posso essere più preciso senza tirare in ballo pluto ciccio e compagnia.
ciao

gutguy
31-03-2005, 20.21.05
mille grazie per la risp, dopo lo provo e ti dico