Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    6

    distribuzione e aggiornamento programma

    Ciao a tutti, ho due domande da porvi,

    1)dopo che ho creato un programma in java, per distribuirla sarebbe meglio convertirla in .exe giusto? se si come posso fare? e come faccio a creare un installer apposta per il programma che lo installi sul computer?

    2)come faccio a diffondere un aggiornamento del mio programma? cioè se creo una nuova versione come faccio a sostituirla con una vecchia già installata? (naturalmente nel computer di un utente che ha installato la prima?). devo creare nel programma un controllo che verifica via internet se il programma è aggiornato e in caso contrario lo fa aggiornare manualmente all'utente (disinstallando il vecchio) o posso fare il download in automatico dell'aggiornamento?

    Grazie, Luca

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da lux3 Visualizza il messaggio
    1)dopo che ho creato un programma in java, per distribuirla sarebbe meglio convertirla in .exe giusto?
    Dipende .... Se ti interessa un solo sistema operativo e vuoi una cosa a prova davvero di utente "stupido" (nel senso che non sa proprio nulla) allora sì.
    In Java la cosa minima e più semplice che è "eseguibile" è un classico file .jar. E un utente "medio" non dovrebbe avere grossi problemi né ad avviarlo né eventualmente a scaricare manualmente un JRE se necessario.

    Quote Originariamente inviata da lux3 Visualizza il messaggio
    se si come posso fare? e come faccio a creare un installer apposta per il programma che lo installi sul computer?
    Esistono tools appositi, anche free. Cerca in rete, questo è un argomento abbastanza ricorrente e discusso.

    Quote Originariamente inviata da lux3 Visualizza il messaggio
    2)come faccio a diffondere un aggiornamento del mio programma? cioè se creo una nuova versione come faccio a sostituirla con una vecchia già installata? (naturalmente nel computer di un utente che ha installato la prima?). devo creare nel programma un controllo che verifica via internet se il programma è aggiornato e in caso contrario lo fa aggiornare manualmente all'utente (disinstallando il vecchio) o posso fare il download in automatico dell'aggiornamento?
    A meno di usare librerie/framework già fatti per gestire logiche di aggiornamento, sappi che non c'è nulla di immediato o già di prefatto altrimenti.
    Sarebbe tutto a tuo carico e da valutare. Devi predisporre tu uno spazio web, possibilmente con supporto ad un qualche linguaggio server-side, devi depositarci le release, devi stabilire come "taggare" la versione all'interno della applicazione, devi stabilire il/i URL da usare, devi scrivere del codice che si collega, verifica la versione, effettua il download, ecc...
    Nulla di impossibile (o difficilissimo) ma ci sono un po' di cose da valutare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    6
    in primis grazie per l'attenzione.

    La storia della libreria eseguibile la so ma preferieri distribuire l'exe. So anche che ci sono dei tool che convertono in .exe ma in questo modo il programma girerà sempre sulla Java Virtual Machine? penso di no essendo appunto .exe e quindi puro binario e non bytecode. prendendo per vera l'ultima affermazione come fanno alcuni programmi java ad essere .exe e girare su JVM?

    Tu sei a conoscenza di qualche framework per gestire l'aggiornamento? niente che una ricerca non possa dire ma se ne conosci già te uno è meglio.

    per l'ultima soluzione, creare io l'aggiornamento, potrei creare un serverino domestico, lo connetto a un servizio come no-IP (non avendo l'ip statico), da li tramite web-server comunico con la mia applicazione e creo la logica per l'aggiornamento. l'unica cosa non chiara, come faccio ad auto aggiornare il programma? cioè quando il programma si connette al server e scarica l'aggiornamento(che sarà lo stesso programma con applicati gli aggiornamenti) dovrei prima installare il programma scaricato e poi cancellare il primo programma, ma come faccio a fare ciò automaticamente? o esiste un modo per fare in modo che il programma si autosostituisca con quello scaricato?

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da lux3 Visualizza il messaggio
    So anche che ci sono dei tool che convertono in .exe ma in questo modo il programma girerà sempre sulla Java Virtual Machine? penso di no essendo appunto .exe e quindi puro binario e non bytecode. prendendo per vera l'ultima affermazione come fanno alcuni programmi java ad essere .exe e girare su JVM?
    Questi tool al massimo creano un wrapper in cui avvolgono il .jar e lanciano "java -jar tuojar" quando li clicchi. La JVM ti serve comunque.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    6
    ah giusto non ci avevo pensato, aspetto risposte per l'altra domanda. Per ora grazie

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da lux3 Visualizza il messaggio
    ma in questo modo il programma girerà sempre sulla Java Virtual Machine? penso di no essendo appunto .exe e quindi puro binario e non bytecode.
    Alt. Un conto è se trovi un tool che genera dei .exe che alla fin fine sono dei semplici "wrapper" per il lancio di una JVM reale. Il .exe potrebbe eventualmente verificare la presenza di un JDK/JRE, eventualmente informare l'utente se non esiste e preoccuparsi di scaricarlo e lanciare la installazione. Insomma, farebbe solo operazioni di "facciata".

    Un altro conto è se trovi un tool che riesce (?) in qualche modo a generare puro e solo codice nativo, senza quindi bisogno poi di avere alcuna JVM. Non so nemmeno come potrebbe riuscirci tecnicamente, nel senso che ci sono aspetti particolari di Java (es. la "reflection") che non so nemmeno come risolverebbe.

    Nel primo caso ok ne esistono sicuramente anche free, nel secondo caso dubita pure e (consiglio) lasciali perdere.

    Quote Originariamente inviata da lux3 Visualizza il messaggio
    Tu sei a conoscenza di qualche framework per gestire l'aggiornamento?
    Personalmente no, non ne conosco.

    Quote Originariamente inviata da lux3 Visualizza il messaggio
    l'unica cosa non chiara, come faccio ad auto aggiornare il programma?
    esiste un modo per fare in modo che il programma si autosostituisca con quello scaricato?
    Se un jar è in uso da parte di una JVM, il jar non lo puoi cancellare né sostituire. Questo perlomeno è il comportamento che ho già avuto modo di vedere su Windows.
    Quindi è chiaro che l'applicazione Java non può banalmente sostituire il "suo" jar. Ma potrebbe terminare lanciando poco prima qualche altra cosa, un piccolo exe o un batch/script fatto apposta per fare la copia e poi rilanciare la JVM.
    Insomma ... se escludi la magia, è comunque possibile in un modo o nell'altro.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    6
    ok, ho capito, poi penserò bene a come fare il tutto. Grazie mille per le spiegazioni.
    Penso si possa chiudere, al massimo più avanti torno a fare domande

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 © 2025 vBulletin Solutions, Inc. All rights reserved.