Newsgroup: it.comp.lang.visual-basic
Titolo: aggiornamenti proprio software

Salve a tutti gli amici del NG!
Mi rivolgo nuovamente a voi per una delucidazione:
una volta scritto il vostro programma e consegnato, è logico che ci siano
poi aggiornamenti successivi.
Voi come vi organizzate?
Come funziona un aggiornamento? Cosa devo fornire all'utente? Io ho pensato
che è necessario ripetere la creazione del pacchetto di installazione, ma
credo ci siano soluzioni migliori...
grazie a tutti per la collaborazione.

 installazione, ma credo ci siano soluzioni migliori...
No. Basta pensare che cambi un controllo o una DLL e il Setup classico
tranquillizza.
Se cambia solo l'EXE allora basta distribuire (in fase di aggiornamento)
solo quello, ma i miei EXE sono il 90% della dimensione totale...

 dimensione totale...
Sì io in media faccio sempre così cioè ridistribuisco solo l'exe però capita
di dover aggiungere DLL...
in quel caso...mi capita di fare anche peggio cioè di fare
un'installazioncina solo per quel componente e poi aggiornare
l'exe...
-- 
Alex
"La differenza tra un genio ed un idiota è che il genio ha i suoi
limiti" (Anonimo)
Posted from X-Privat Free NNTP server - 
www.x-privat.org

Usi il versionamento di Visual Basic. E tieni traccia delle modifiche in un
file Word.
Il problema è se ci sono di mezzo dei Database. In questo caso, ho ti crei
un programma che allinei i tracciati delle tabelle, oppure come sopra, se le
modifiche le puoi fare tu direttamente, tieni traccia in un file word.
Ciao, Vincenzo

 installazione, ma credo ci siano soluzioni migliori...
Ripetere il setup crea una serie di casini.
In primis, si creano dei riferimenti monchi che disturbano la
disinstallazione.
Poi, l'utente potrebbe anche selezionare una cartella di installazione
diversa dalla precedente, e tutto fallirebbe.
In generale i miei upgrade sono degli exe che verificano che l'app non sia
in esecuzione, sovrascrivono l'eseguibile col nuovo, fanno eventuali
registrazioni di componenti, e spesso fanno anche girare degli script sul
server dbms.
Siccome msvbvm e Mdac sulla macchina ci sono già, l'exe di aggiornamento
gira senza problemi, cerca nel registry l'ubicazione dell'applicativo, fa i
suoi giochini sui file esistenti, legge dal file .Ini la configurazione di
accesso al dbms, e lavora.
Questo, per i rilasci un po' complessi.
Per un semplice aggiornamento di un eseguibile, siccome le mie applicazioni
sono per un 50% dei servizi NT che girano su server, mando una mail al
system administrator dicendogli di sostituire l'exe.
Per un altro 40% del mio lavoro, si tratta di applicativi che girano sui
client dentro a IE, per cui il rilascio consiste in realtà in un xcopy nella
cartella di IIS, poi ogni client si aggiornerà al primo accesso.
Ciao
Alberto

 Voi come vi organizzate?


Io per le installazioni uso Inno Setup, quindi la mia MyApp 1.0 ho il
SetupMyapp1_0.exe che installa l'applicazione, controlla eventuali
componenti (MDAC, IE) ed eventualmente installa runtimes (VB, CR).
Faccio delle correzioni o aggiungo dei file, ottengo la MyApp 2.0, creo il
SetupMyApp2_0.exe per eventuali nuove installazioni, e creo anche il
UpdateMyApp2_0.exe che installa solo l'eseguibile cambiato ed
eventualmente alcuni file aggiunti, l'aggiornamento controlla che esista
l'applicazione 1.0, vede dov'è installata quindi l'utente deve solo fare
Avanti qualche volta... 
ciauz
-- 
Inno Setup Extension Knowledege Base
http://www13.brinkster.com/vincenzog
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

grazie a tutti per i consigli!
Comunque il mio è un semplicissimo programma che gira su di una sola
macchina e si appoggia ad un database (dalla struttura abbastanza complessa
a dir la verità).
Gli unici aggiornamenti porevedibili possono essere quindi aggiunta di
funzionalità all'exe, eventuali aggiunte di form... Ma, è qui la vedo un po
dura, esiste anche la possibilità di una modifica alla struttura del
database.
Come fare, in questo caso, per conservare i dati del cliente fornendo però
un database con una struttura diversa?
Ah, un'altra domanda, ma i software per l'autocomposizione dei pacchetti di
installazione di terze parti, come il citato InnoSetup sono affidabili?
Migliori o peggiori di quello fornito con visual studio 6?
Come fanno a riconoscere quali componenti registrare? Prendono in esame il
file .vbp? Boh...
Grazie ancora a tutti!

 però un database con una struttura diversa?
Io parlavo di script...
Ciao
Alberto

script? whats script? :-)

 file .vbp? Boh...
personalmente non mi fido di cosa viene incluso dal PDW, esiste però un
tool per l'editing facilitato degli script di Inno Setup che si chiamata
ISTOOL, che ti legge il file .lst prodotto dal PDW e lo traduce nello
script per Inno Setup.
Secondo me la curva di apprendimento di Inno Setup è un po' più alta
rispetto al PDW ma hai molto molto più controllo.
Inoltre sui i newsgroup di inno setup trovi sempre qualcuno che ti da una
mano se hai qualche problema.


purtroppo io non so nemmeno da dove iniziare con innoSetup :-)
e purtroppo tra università e fretta del cliente non ho il tempo di
impararlo.
io avevo pensato di creare un nuovo pacchetto di installazione per rendere
il tutto automatico dato che non ho nessuna esperienza con i setup.
Volendo compilare il nuovo eseguibile e sostituirlo a quello vecchio e poi
registrare le eventuali dll aggiunte mi si pongono però alcuni problemi:
come ricavo la directory dove è installata l'applicazione?
quali sono le operazioni da fare per far registrare le eventuali dll
aggiunte?
Risolti i quali ho risolto il problema dell'aggiornamento dell'eseguibile,
ma il database?
Dove potrei trovare qualche esempio di codice di aggiornamenti semplici
semplici? Chi di voi ne ha da postare?
Non credevo che aggiornare un'applicazione fosse così complicato :-)
ad ogni modo vi ringrazio infinitamente!

 Non credevo che aggiornare un'applicazione fosse così complicato :-)
IMHO non lo è, se l'approccio è corretto.

quindi l'unica è eseguire le istruzioni SQL per la modifica delle tabelle
nel caso volessi modificare la struttura vero?

nel caso volessi modificare la struttura vero?
E' la strada consigliabile.
-- 
ciao, hal

 nel caso volessi modificare la struttura vero?
Se vuoi rendere la cosa trasparente ti conviene distribuire nel pacchetto
anche un file di testo con tutte le istruzione SQL per l'ALTER.
All'avvio della tua app verifichi se c'è questo file, se c'è esegui una riga
alla volta e poi lo cancelli.
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net