|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2007
Messaggi: 213
|
[C#] Download file controllo aggiornamenti
Ciao a tutti.
Praticamente ho fatto un'applicazione C# che ha un "file di definizioni". Praticamente devo permettere all'utente/o al programma in automatico,di cercare degli aggiornamenti per quel file ed eventualmente per tutto il programma. E' la prima volta che faccio una cosa simile quindi mi servirebbe una spiegazione sul procedimento. Come funziona?Il programma controlla il nome del file/lo scarica/lo sostituisce a quello vecchio? Grazie. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
L'ho affrontato per una soluzione un paio di anni fa.
Il programma che effettua l'aggiornamento e' un altro programma, e sara' quello che verra' lanciato dall'utente all'apertura. Tale nuovo programma si incarichera' di cercare online eventuali nuovi aggiornamenti per il vero programma. Sovrascrivera'/aggiungera' tali aggiornamenti, ivi incluso il vero programma stesso. Una volta salvati tutti i file lancera' l'esecuzione del programma vero e terminera'. E' un punto abbastanza delicato, perche' ovviamente come puoi capire l'eseguibile del programma di aggiornamento non si puo' aggiornare. Deve quindi essere sufficientemente robusto (e magari serve anche che sia dinamico*), da permettergli di sopravvivere per tutta la durata di vita stimata del programma. * Es di dinamico che abbiamo docuto implementare: Definizioni delle operazioni da eseguire del motore di aggiornamento lette da file (xml), che possono essere fortunatamente aggiornati dal motore aggiornamento stesso, prima di essere eseguite.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Feb 2007
Messaggi: 213
|
Grazie.
Molto interessante la soluzione di un programma dinamico per l'aggiornamento,non ci avrei pensato. Sinceramente pensavo anche di fare tutto in un'unico programma ma ora che mi proponi la soluzione di 2 software separati,mi sembra la cosa più fattibile. Ultima cosa,come faccio a controllare se il file in rete è più recente di quello che è presente nel programma? Pensavo di mettere il file in rete con un nome come "def_n",dove 'n' è un numero progressivo che viene incrementato ogni volta che metto in rete un file nuovo. In questo modo potrei controllare se 'n' del file su disco è minore di quello in rete e di conseguenza scaricare il file.Potrebbe essere una buona soluzione? Grazie ancora. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Certo, e' fattibile.
Il nodo principale e' secondo me il programma di download. Per il resto sono possibili diverse soluzioni.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Feb 2007
Messaggi: 213
|
Bene,
Grazie ancora di tutto. ![]() |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jul 2005
Città: Roma
Messaggi: 216
|
Se usi il framework 2.0 documentati su "ClickOnce".
E' fatto apposta per quello che devi fare tu. Anche io (purtroppo) ho dovuto adottare una soluzione identica a quella di gugoXX perchè il cliente voleva lavorare con il framework 1.1 ![]() |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Feb 2007
Messaggi: 213
|
Ok,grazie.
Cmq posso aggiornare anche l'uptater in futuro. Ho fatto in modo di scaricare un file updater.exe.bak tramite l'updater. Al prossimo riavvio del programma (non dell'updater)se viene trovato questo file lo rinomina in updater.exe e rinomina quello originale in .old (per evitare problemi).In questo modo si aggiorna anche l'updater. |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2007
Messaggi: 493
|
Quote:
__________________
![]() ![]() |
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Feb 2007
Messaggi: 213
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:00.