Newsgroup: it.comp.lang.visual-basic
Titolo: [?]Servizio NT

Ciao a tutti,
prima di cimentarmi volevo sapere se qualcuno lo aveva già fatto:
creazione di un servizio NT utilizzando l'ocx NTSVC.ocx rilasciato dalla
Microsoft. Sempre meglio avere notizie belle o brutte prima di imbattersi in
futuri grattacapi...
Ringrazio tutti, ciao,
Mattia

"Mattia" <br...@NOSPAM.it> ha scritto

non avevo provato con db o cose complesse, ma una cosa semplice su nt5
andava.
se ancora vanno i link, direi funzionasse cosi':
INFO: Running Visual Basic Applications as Windows NT Services
http://support.microsoft.com/support/kb/articles/Q175/9/48.ASP
NT Service: An OLE Control for Creating Windows NT Services in Visual Basic
http://msdn.microsoft.com/library/techart/msdn_ntsrvocx.htm
HOWTO: Use NTSVC.OCX from Visual Basic
http://support.microsoft.com/support/kb/articles/Q170/8/83.ASP
riassunto:
per usare pippo.exe come servizio
1. scarica la dll free e le istruzioni:
http://download.backupreport.com/cpp/ntsvocx/ntsvocx.exe
registrala e inserisci in pippo.vbp quanto dovuto.
2. poi dovresti piazzare in
\winnt\system32
un paio di exe:
instsrv.exe e srvany.exe
contenuti nel resource kit di winnt.
3. crea quindi un servizio "pippo" con la seguente linea di comando:
instsrv.exe pippo c:\winnt\system32\srvany.exe
4. devi dunque modificare il registry. vai alla chiave:
hkey_local_machine\system\currentcontrolset\services\pippo
aggiungi una nuova chiave "parameters".
aggiungi una stringa a "parameters" che nomini "application" e
assegni come valore il percorso completo della directory di
installazione del servizio, (dovrebbe comunque essere \winnt\system32).
4.1. per fare un modo che il servizio sia invisibile (non rintracciabile
nella lista dei task), aggiungi alla chiave "parameters" la
stringa "appparameters" e assegni come valore "/hidden".
--
ciao
http://www.sundaysw.com/tmp/google.gif

Grazie mille!
Non potevo desiderare una risposta più dettagliata!
Allora ne approfitto e ti faccio una domanda con risposta penso negativa: Su
Win98 che tu sappia girerebbe il servizio?

"Mattia" <br...@NOSPAM.it> ha scritto

win98 ? cos'e' ? la prima versione dell'xbox ? :)
scherzi a parte, qui mi e' finalmente rimasta solo una macchina win9, e per
disinstallarla mi serve solo trovare un corpo sufficientemente
contundente... l'utente a quanto sembra non basta :P
ciao

Si immaginavo...
E' che volevo creare un servizio che girasse sui pc degli operatori
dell'officina che registrasse i dati in arrivo dalle macchine collegate
tramite la parallela. Il programma l'ho fatto ma volevo farlo diventare un
servizio per farlo girare in background. Boh, devo trovare un'altra
soluzione. Grazie di tutte le infi utili,
Ciao,
Mattia.

seriamente, non ne ho idea, forse gira anche su 98, anche se i services mi
fanno tutt'un'altra impressione.
comunque, non puoi lanciarlo in esecuzione automatica ? se non hai bisogno
di un form concentri tutto nella sub main..
oppure, da anni su alcuni pc faccio girare un log dao per segnare accensione
e spegnimento. c'e' solo un formino nudo, invisibile, e due azioni a load e
unload (quando l'ho scritto manco sapevo che esistesse, la sub main...):
Private Sub Form_Load()
    NewRec
End Sub
Private Sub Form_Unload(Cancel As Integer)
    AddCloseTime
End Sub
io manco me ne accorgo, salvo vederlo in taskman. non ha mai perso un colpo,
ne' in in win9 ne' in nt. semplicemente, se il pc va in crash, non segna
l'ora di chiusura. se invece il tuo deve fare cose piu' complesse, occhio a
non lasciare flag aperti, ecc.
ciao
"Mattia" <br...@NOSPAM.it> ha scritto


Eh, mi sa che adotterò la tecnica della form invisibile e dell'esecuzione
automatica anche se personalmente non mi piace e rimaneva più pulito come
servizio.
Va bene, grazie dell'attenzione.
Ciao,
Mattia.

 futuri grattacapi...
Io ne faccio continuamente.
Funziona benissimo ed č banale da usare.
Lo scarichi e lo registri.
Lo metti su una form come componente, poi copiincolli il codice MS che
gestisce la registrazione e deregistrazione del servizio nel tuo form
load.
Per distribuirlo, l'Ocx entra nel pacchetto senza dover far niente, e
puoi lanciarlo come exe normale, oppure da linea di comando fai
pippo.exe -install e si registra come servizio.
Da MMC, poi, potrai gestirlo come un servizio qualunque.
Affidabilitŕ direi al 100%, su W2k o XP.
Avevo letto di problemi con NT4, ma a me non ne ha dati.
Ciao
Alberto
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Alberto
Ho gia scaricato, incluso nel progetto, installato il servizio come spiegato
e su XP funziona anche a me benissimo ma su Win98 non va.
Solo che tutti i pc dell'officina hanno 98 e non vorrei cambiare l'OS a
tutti.
Ciao,
Mattia

 pippo.exe -install e si registra come servizio.
...ma solo se hai avuto l'accortezza di piazzare tre righe di codice
(copiate dall'esempio) che controllano all'avvio la variabile Command,
invocano un metodo dell'ocx e poi escono senza fare altro ;)
btw: Sul sito microsoft è un po' che non trovo più l'ocx: l'hanno tolto
perché funzionava troppo bene?
Ne approfitto per domandare:
Su Win2000 i servizi hanno anche il recovery on failure che permette, ad
esempio, di far ripartire il servizio in caso di primo, secondo o successivo
fallimento. Ho gugolato un po' per vedere se su NT si può fare qualcosa di
simile, ma ho trovato solo dei tool completi (abbastanza cari) di
monitoraggio dei servizi. Sapete se si può fare "in casa"?
--
Ciao, Silv:o)

 perché funzionava troppo bene?
con google da' solo 2 link, e uno e' il sito di fibia fbi.
capace che non vogliono piu' che lo si distribuisca...

 e su XP funziona anche a me benissimo ma su Win98 non va.
Non è una cosa sorprendente: si chiamano "servizi NT" perché funzionano su
Windows NT e derivati (2000, xp, 2003).
Per Windows 98 ti conviene fare come ti ha suggerito pal.