Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408

    Aggiornamenti dei programmi

    Salve a tutti,
    è una mia curiosità. Non sapevo bene cosa cercare su internet, quindi chiedo qui.
    Ho realizzato un'applicazione in java per la gestione di un archivio. Ipotizzando una certa diffusione di questo programma su vari computer, se io volessi mandare un aggiornamento a tutti i programmi simultaneamente, come dovrei fare? Vi sarà sicuramente capitato di avere programmi che a volte , all'apertura, propongono un aggiornamento.
    Come si realizza tutto ciò? Cambia da linguaggio a linguaggio?
    Grazie in anticipo per le risposte
    Spero di non essermi spiegato troppo male

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Inviare un aggiornamento a tutti simultaneamente è impossibile, devi inoltre tenere conto che un'utente potrebbe rifiutarsi di aggiornare.
    Comunque in linea generale controlli un dato online (potrebbe essere una pagina web, una richiesta ad un server apposito, ...) e se risulta necessario un'aggiornamento chiedi all'utente se vuole aggiornare, scarichi l'aggiornamento e lo installi.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408
    Con simultaneamente intendevo che la richiesta di aggiornamento arrivasse a tutti, mi sono espresso male. Quindi non ho capito, come si fa? E' necessario che il programma controlli online se è disponibile un aggiornamento? Non ci sono guide su questo argomento?

  4. #4
    Originariamente inviato da goatboy
    E' necessario che il programma controlli online se è disponibile un aggiornamento?
    Altrimenti come fa a sapere che c'è un aggiornamento?
    Non ci sono guide su questo argomento?
    Se n'era parlato sicuramente qualche volta qui sul forum, comunque concettualmente non è nulla di che... da qualche parte sul sito del programma carichi un file (XML, CSV, di testo, quello che ti pare) che contiene il numero dell'ultima versione e l'URL del suo setup. La tua applicazione ad ogni avvio (o periodicamente) controlla questo file e confronta il numero di versione con il proprio, se è diverso propone all'utente di scaricare e avviare il setup.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Come già detto però devi anche tenere conto che un'utente potrebbe non voler aggiornare o potrebbe non disporre di una connessione internet.
    Devi stare attento alle versioni se, ad esempio, cambi il formato dei file oppure se è un'applicazione client e cambi il protocollo di comunicazione col server. In questo ultimo caso potresti voler forzare l'utente ad aggiornare o mantenere piena compatibilità...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408
    Ok, credo d'aver capito! Grazie

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Di nulla
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  8. #8
    In caso di client conviene che il programma che cerchi l'aggiornamento sia diverso dal programma da aggiornare? Una sorta di launcher?
    Altrimenti se bisogna modificare l'eseguibile come si fa? Non credo che un programma possa eliminare se stesso.
    A meno che non si carichino tutte le funzionalità in file dll, e l'aggiornamento consista solo nello scaricare quelle sostituendo le nuove con le vecchie.

    Cosa ne dite a proposito, e se ciò che ho detto è giusto, fra i due quale sarebbe l'approccio migliore e perchè?

  9. #9
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Evita le dll se puoi: usale solo se hai delle funzioni che sai che saranno usate da più applicazioni. Un uso troppo diffuso delle dll ti porta solo complicazioni:
    -codice aggiuntivo per importare le funzioni
    -bug derivati da diverse flags in compilazione
    -...

    Per quanto riguarda l'aggiornamento:
    -controlla il programma principale e scarica un eseguibile.
    -controlla il programma principale e, in necessità di aggiornamento lancia un'altro programma.
    -controlla un luncher e se non è necessario un aggiornamento lancia il programma.

    Il secondo approccio toglie gli overhead dovuti al lanciare un programma in più ad ogni avvio...
    Il terzo permette di non preoccuparsi della logica di aggiornamento nell'eseguibile principale...
    (Notare che se ti trovassi nella necessità di aggiornare il luncher il problema sarebbe ricorsivo)
    Il primo è quello che ti da più libertà, anche se devi gestire l'aggiornamento nel programma principale...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  10. #10
    È quello che non so fare. Come si fa ad aggiornare un programma se non sostituendo fisicamente il file.exe vecchio con il nuovo?
    Se il programma "aggiorna se stesso" non può sostituire l'eseguibile! Mentre il processo è in esecuzione il file non può essere spostato ne tantomeno cancellato.

    O no?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.