Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167

    [delphi] auto update

    cerco routine delphi per realizzare un autoupdater che verifiche la presenza su un sito da me controllato di un aggiornamento e dopo aver scaricato la versione + recente dell'eseguibile/dll/file di configurazione, faccia partire il nuovo eseguibile .
    in particolare non ho le idee chiare su come realizzare lo swap degli eseguibili, ogni suggerimento/risorsa è molto gradita ...
    Reality is that which, when you stop believing in it, doesn't go away

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Indicativamente, ti basta utilizzare un eseguibile per compiere gli aggiornamenti, ovviamente non quello che costituisce l'applicazione centrale vera e propria.

    Ti basterebbe usare il package Indy Components, in particolare il componente TIdHttp per scaricare una risorsa dal Web tramite il protocollo HTTP, appunto.

    La risorsa può essere un file di testo che descrive la versione corrente del programma, oppure l'aggiornamento del file eseguibile stesso che consente di aggiornare la tua applicazione.

    Insomma, prova a dare un'occhiata a questi strumenti e a valutare una soluzione che soddisfi le tue esigenze...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    si, conosco le classi a cui fai riferimento.
    speravo esistesse un modo per un eseguibile di auto rinominarsi, ma anche lanciare un exe di appoggio che poi rilanci l'app principale scambiata mi sembra sufficiente.
    mi manca ancora un pezzo però: come faccio a confrontare la versione dell'eseguibile corrente con quella che è presente online...senza scaricarla? vedo in giro che viene usato un file di testo contenente la versione disponibile online, cosa che mi potrebbe bastare.
    non sarebbe male trovare un sistema per leggere questa informazione al volo sul server, insomma una implementazione php di GetFileVersion...
    che ne pensi?
    Reality is that which, when you stop believing in it, doesn't go away

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da smt
    non sarebbe male trovare un sistema per leggere questa informazione al volo sul server, insomma una implementazione php di GetFileVersion...
    che ne pensi?
    Non è forse una complicazione inutile? Metti un file di testo sul sito che sia aggiornato da te con il numero di versione del programma disponibile e verifica il suo contenuto comparandolo con quello del file installato. Se è diverso, scarichi la nuova versione.

    Certo, potresti anche creare un CGI, addirittura con lo stesso Delphi, che legga la versione dal file eseguibile, però forse è una fatica un po' inutile poiché ti basta usare un file di testo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    un cgi con Kylix (uso un server linux), è l'intuizione che cercavo...
    premetto che non ho alcuna esperienza ne di kylix, che non riesco a far funzionare sulle mie distro, ne di cgi: dovrò informarmi.
    valuterò attentamente se ho davvero bisogno di questa "complicazione" che a me sembra una raffinatezza.

    grazie dell'ottima idea
    Reality is that which, when you stop believing in it, doesn't go away

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.