Newsgroup: it.comp.lang.visual-basic
Titolo: realizzare un servizio per windows 2000

Salve
Ho realizzato un programma con vb5. Questo programma è stato installato in
un'azienda mia cliente che lo utiliza in rete su circa 100 PC.
Il problema che ho è legato al rilascio degli aggiornamenti del mio
programma sulle postazioni con windows 2000.
Infatti al fine di permettere gli aggiornamenti automatici sui vari client
della rete, avevo previsto un sistema di controllo automatico sulla
disponibilità di un aggiornamento che veniva eseguyito all'avvio
dell'applicazione sulla postazione client. In altre parole, quando un utente
della rete aziendale, avviava il programma sulla sua postazione client,
venive eseguito un controllo sulla versione installata e qualla dipsonibile
nella cartella degli aggiornamenti sul server. Se la versione installata
risultava più vecchia di quella disponibile sul server, veniva richiesto
all'utente se eseguire subito l'aggiornamento. Nel caso affermativo partiva
in automatico il programma update.exe residente sul server.
Tale sistema funzionava e funziona tuttora senza alcun problema sulle
postazione con windows 95, 98, ma non funziona su quelle postazioni con
windows 2000 in cui l'utente non ha i privilegi di "power user" o di
"administrator", infatti in questo caso il programma non riesce ad
installare correttamente alcune DLL nella cartella system32 di windows.
A questo punto le soluzioni che ho proposto al cliente, nel caso di rilascio
di nuovi aggiornamenti, sono state le seguenti:
1) personale dei sistemi informativi dell'azienda avrebbero dovuto eseguire
l'installazione manuale dell'aggiornamento su tutte le postazioni con
windows 2000 utilizzato l'account dell'amministratore
2) inserire l'utente generico della postazione client nel gruppo dei power
users o dei administrators
3) ho proposto una modifica al programma di controllo degli aggiornamenti:
in particolare sulla postazione client tramite una finestra di dialogo
apposita veniva richiesta la password dell'utente administrator; tale
password venva memorizzata in maniera crittografata sul computer client; nel
caso di disponibilità di un nuovo aggiornamento il programma stesso eseguiva
l'aggiornamento utilizzando l'account dell'amministratore salvato nel punto
precedente.
Il mio cliente non ha ritenuto nessuna delle suddette proposte una soluzione
adeguata alla situazionme.
Oltre che mandarlo a quel paese mi sono riproposto di trovare una quarta
soluzione che facesse uso dei servizi di windows 2000. In particolare
installare un servizio sulla macchina client con avvio automatico ed
esecuzione con privilegi di amministratore. Quindi la domanda e' questa: e'
possibile questa soluzione? come si fa avendo solo conmoscenze di vb5?
Grazie
Paolo

possibile questa soluzione? come si fa avendo solo conmoscenze di vb5?
Si' puo', anche se Microsoft non la caldeggia particolarmente.
Nell' articolo
INFO: Running Visual Basic Applications as Windows NT Services
http://support.microsoft.com/default.aspx?scid=kb;en-us;q175948
e' scritto, fra l'altro:
NOTE: Microsoft does not recommend, and does not support, running
Visual Basic applications as Microsoft Windows NT, Windows 2000 and
Windows XP Services, even when you use Ntsrv.ocx. 
-- 
ciao, hal

 possibile questa soluzione? come si fa avendo solo conmoscenze di vb5?
La cosa è fattibile, come ti è stato segnalato nel post precedente.
Esistono strumenti di Software distribution (SMS di Microsoft per esempio,
oppure Tivoli etc;)
che fanno uso di un servizio locale e che utilizzano il Local System Account
(saltando l'account administrator).
Attenzione che se il servizio non è ben architettato, e presenta dei bug di
sicurezza,
questo diventa la testa di ponte per inserire eventualmente altri
applicativi + o - leciti: quindi vi devi inserire una routine per
l'autenticazione,
evitando possibilmente di interagire con il servizio netlogon , poichè è
molto
delicato.
Io ho già provato ad progettare qualche semplice servizio e a farlo "girare"
con buoni risultati (e anche stabili) su w2000 professional
a il link di seguito puoi trovare un link con un ocx che ti facilita le cose
http://www.geocities.com/SiliconValley/Pines/3991/nthowto.htm

 venive eseguito un controllo sulla versione installata e qualla
dipsonibile
[cut]