Newsgroup: it.comp.lang.visual-basic
Titolo: Gestire l'uninstall

Durante il setup di un pacchetto fatto col PDW, viene inserita nella
cartella dell'applicazione il file ST6UNST.log, che contiene il log di ciò
che è stato fatto durante l'installazione, e viene usato dal pannello di
controllo per disinstallare.
Bene.
Accade però che una applicazione, DOPO essere stata installata
correttamente, possa ricevere nella propria cartella dei file, ad esempio
scaricati da internet, o inseriti a mano dall'utente (non entriamo nel
merito, diciamo che può accadere).
Se, dopo che sono arrivati questi file, invochiamo la disinstallazione da
pannello di controllo, i file originali vengono cancellati, ma i nuovi file
no, e quindi la cartella non viene rimossa.
Analogamente, se l'applicativo ha scritto delle chiavi di registro in giro
(non necessariamente nella sua sezione dedicata), queste rimangono e vanno
poi ripulite con un regclean.
Questo lascia una situazione sporca che a me dà fastidio.
L'ideale sarebbe poter venire notificati dal S.O. che è stata richiesta la
disinstallazione, affinchè un mio exe possa pulire la cartella e il
registry, quindi uccidersi e restituire il controllo all'uninstall di
sistema, che a questo punto può tranquillamente eliminare tutto, compreso il
'nostro' uninstall e la cartella dell'applicazione.
Qualcuno sa se è possibile indicare, nel ST6UNST.Log, o nel registry, o
chissà dove, che su richiesta di uninstall deve essere eseguito un
determinato exe prima dell'uninstall di sistema?
Non so se mi sono capito...
Alberto

 Non so se mi sono capito...
Ti sei capito...
Non conosco il PDW, ma se non c'e' un modo piu' pulito, questo dovrebbe
funzionare:
Cambia nome all'eseguibile che usa VB per fare uninstall.
Crea il tuo programma di "pre-uninstall", e compilalo con il nome di cui
sopra, nello stesso percorso.
Aggiungi manualmente al tuo setup il file di uninstall vero (quello "falso"
dovrebbe metterlo il wizard da se'), facendo in modo che venga copiato nella
stessa cartella del primo (suppongo \WINDOWS).
Il programma stub a questo non dovra' fare altro che eseguire il tuo codice
e alla fine richiamare l'uninstaller originale passando la stessa riga di
comando con cui e' stato invocato.
Vedi un po'...
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 cui sopra, nello stesso percorso.
L'idea è buona.
Resta un punto. L'applicativo di disinstallazione è ST6UNST.exe, e viene
distribuito col Pdw. Però, è un file condiviso, quindi se io lo
'personalizzo' vado a sovrascrivere la disinstallazione di altre app.
Forse la via è scandagliarsi il setup.lst o setup1.vbp, trovare il punto
dove comunica, in fase di setup, che l'uninstall sarà gestito da xxx, e
subentrare in questa fase...
Ci lavoro.
Ciao e grazie.
Alberto

 
Non so se ti puo' servire ma in msdn c'e' scritto:
"Sezione BootStrap
La sezione BootStrap include tutte le informazioni necessarie per 
l'impostazione e l'avvio del programma di installazione principale 
dell'applicazione.
...Omissis...
Nella tabella seguente sono elencati i componenti della sezione BootStrap.
Componente Descrizione
...Omissis...
Uninstal Nome del programma di disinstallazione. In genere corrisponde 
al file St6unst.exe, che viene incluso automaticamente in tutti i 
pacchetti creati tramite la creazione guidata "
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

E se usi Inno Setup? Ti consente di gestire anche cose di questo genere.
Molti esempi li trovi anche sul sito ufficiale.
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
www.nicolaottomano.it