+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 9 su 9

Discussione: consiglio su come gestire gli aggiornamenti client

  1. #1
    L'avatar di Tommy_G
    Tommy_G non è in linea Scribacchino
    Post
    1,010

    consiglio su come gestire gli aggiornamenti client

    attualmente per fare quanto descritto nel titolo mando una email agli utenti chiedendo di premere un apposito pulsante che preleva (chiaramente se glielo metto prima) un nuovo client da una cartella sul server di rete e, dopo avere aggiunto al nome la data odierna, la deposita su desktop .
    fatta questa operazione con Application.FollowHyperlink faccio aprire il nuovo file appena scaricato (ha un nome diverso e quindi non va in conflitto con quello aperto) e contemporaneamente faccio chiudere la vecchia versione del client, che è stata appena usata per fare quanto inizialmente descritto, in ultimo con un popup chiedo all'utente di eliminare manualmente la vecchia versione che si è appena chiusa, cosa che magari non fanno e quindi si ritrovano il desktop pieno di file.
    sia ben chiaro che quanto sopra descritto è un espediente che non mi piace per niente, che ho ideato solo per tamponare nell'immediato.

    la nuova release che ho preparato prevede che all'apertura del client (se non è gia esistente) crei una cartella su desktop dove andranno automaticamente depositati i futuri client (questa cartella ha anche una sottocartella dove farò scaricare le tabelle del BE ogni volta che l'utente decide di lavorare in locale invece che collegato al server)

    scusatemi se mi sono dilungato oltre modo ma volevo fare un quadro generale del progetto, ovvero, di come si presenta ora e di come voglio svilupparlo.

    nelle mie intenzioni c'è la volontà di gestire gli aggiornamenti facendo in modo di non demandare più all'utente il compito di liberarsi dei file vecchi, vorrei perciò che al momento che l'utente apre il client automaticamente vada a leggere sul server se c'è una nuova relase, quindi: 1) la scarica 2) la apre 3) se possibile all'apertura il nuovo vada a eliminare la vecchia versione

    attualmente ho messo giù le basi per leggere nelle varie path (su pc locale e su server) la versione del client, in pratica creo due tabelle con le informazioni e da queste (confrontando le versioni) vorrei partire per realizzare quanto sopra descritto.



    chiaramente prima di improvvisare a vanvera chiedo un consiglio agli esperti per fare le cose a modo..

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,091
    La logica piu giusta sarebbe interporre un LAUNCHER anche in Batch che controlla la versione del client rispetto al server e se la versione è aggiornata apre il file client presente, se ne trova una piu nuova cancella quella vecchia, se vuoi rinomina e cancella alla fine, importa la nuova e la apre...
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  3. #3
    L'avatar di Tommy_G
    Tommy_G non è in linea Scribacchino
    Post
    1,010
    si, avevo pensato di fare in questo modo, tuttavia c'è il grosso problema che, per tanto che li si possano istruire, gli utenti sicuramente andranno sempre ad aprire il client invece che il launcher, non hai idea di come riescano a incasinare le cose ...addirittura c'è anche stato qualcuno che è andato su server di rete e si è fatto un collegamento sul desktop del BE pensando di potere operare direttamente, meno male che nel BE ci sono solo le tabelle e una maschera che all'apertura fa il cazziatone allo sprovveduto di turno..
    se tuttavia non c'è proprio alternativa al launcher, beh , allora come posso fare in modo che partano sempre da questo senza andare ad aprire il client?
    edit
    ma se in parte facessi come ho descritto all'inizio? cioè, apro il client, questo va a leggere sul server e se trova una versione più recente la scarica e la apre in simultanea alla chiusura del client vecchio (con il trucco della rinomina così non va in conflitto) in apertura il client nuovo potrebbe andare a leggere dentro la path, dove risiede sia il vecchio che il nuovo, andando a eliminare il vecchio... che ne dici?
    Ultima modifica di Tommy_G; 27-07-2019 23:05 

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,091
    Puoi fare in modo che il client si chiuda se non lanciato dal Launcer.
    Usa Command$ perm leggere il parametro passato per l'avvio e se non c'è chiudi tutto.
    Dal Launcer invece passi il parametro...
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  5. #5
    L'avatar di gibra
    gibra non è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    6,072
    Confermo quanto espresso da @Alex.
    Riassumo come ho fatto io:
    1. l'utente NON può avviare il programma client, che richiede un parametro 'nascosto' in riga di comando
    2. può avviare solo il Launcher, che scarica il nuovo client dal server, lo copia in locale e lo avvia.
    3. poi con un timer vede se c'è un aggiornamento.
    3. se invece l'utente è già connesso, il client lo avvisa e basta solo riavviare il Launcher.

    Considera che io ho utenti anche all'estero che connettono via Citrix (una sorta di Desktop Remoto ma più avanzato) e questo metodo funziona alla grande, solo che nel mio caso la faccenda è ancora più complicata, ma il succo della procedura è questo.

  6. #6
    L'avatar di Tommy_G
    Tommy_G non è in linea Scribacchino
    Post
    1,010
    allora, quello che pensavo di fare è che se all'avvio del client riscontro che NON c'è sul server una versione più recente, lascio che il client si apra, in caso contrario lo chiudo e faccio aprire il launcher che all'avvio va subito a cancellare la vecchia versione del client, quindi, scarica la nuova e la apre (ditemi se può essere una soluzione valida)

    per questo:
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Puoi fare in modo che il client si chiuda se non lanciato dal Launcer.
    Usa Command$ perm leggere il parametro passato per l'avvio e se non c'è chiudi tutto.
    e per quello indicato da Gibra al punto 1. del suo post:
    l'utente NON può avviare il programma client, che richiede un parametro 'nascosto' in riga di comando
    avrei bisogno di maggior instradamento in quanto non ho conoscenze specifiche a riguardo

  7. #7
    L'avatar di gibra
    gibra non è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    6,072

  8. #8
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,091
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  9. #9
    L'avatar di Tommy_G
    Tommy_G non è in linea Scribacchino
    Post
    1,010
    grazie Alex, lo avevo già visto ieri seguendo il consiglio di Gibra. Non ho ancora approfondito ma credo di avere capito come operare, alla bisogna (quasi sicuramente ) mi farò vivo

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi