Domanda

Voglio implementare un sistema di "aggiornamento automatico" per un'applicazione Windows.In questo momento sto creando semi-manualmente un file "appcast" che il mio programma controlla e avvisa l'utente che è disponibile una nuova versione.(Sto usando NSIS per i miei installatori).

Esiste un software che posso utilizzare per gestire la parte "automatica" degli aggiornamenti, forse simile a Scintilla sul Mac?Eventuali problemi/insidie ​​di cui dovrei essere a conoscenza?

È stato utile?

Soluzione

Non esiste una soluzione così fluida come Sparkle (che io sappia).

Se hai bisogno di un mezzo semplice per distribuire e aggiornare le applicazioni, Fare clic su una volta è un'opzione.Sfortunatamente, è inflessibile (ad esempio, nessuna installazione per macchina anziché per utente), opaca (hai pochissima influenza, chiarezza e controllo su come funziona effettivamente la sua distribuzione) e non standard (i percorsi in cui memorizza l'app installata sono diversi da qualsiasi altra cosa su Windows).

Molto più vicino a quello che stai chiedendo sarebbe Clicca attraverso, un progetto parallelo di WiX, ma non sono sicuro che sia ancora in fase di sviluppo (se lo è, dovrebbero essere più chiari a riguardo...) - e utilizzerebbe in ogni caso MSI, non NSIS.

Probabilmente faresti meglio a realizzare qualcosa da solo.Mi piacerebbe vedere un progetto simile a Sparkle per Windows, ma finora nessuno sembra averci provato.

Altri suggerimenti

Ora c'è un porting di Sparkle per Windows, vedi http://winsparkle.org.

L'aggiornamento automatico di Google Chrome è basato su Omaha:

http://code.google.com/p/omaha/

Loro panoramica ha un'ottima sezione sul motivo per cui era necessario:

Il browser in genere richiedeva all'utente una lunga serie di finestre di dialogo tecniche, confuse e spaventose, tutte volte a convincere l'utente a non installare.Quindi all'utente è stata suggerita una procedura guidata piena di scelte di cui non aveva bisogno o tra le quali non sapeva come decidere.Questi fattori si combinano per creare un'esperienza utente negativa e un notevole abbandono durante il processo di installazione dell'app

È una buona idea utilizzare una soluzione di terze parti, poiché gli aggiornamenti automatici possono essere una seccatura, soprattutto con Windows Vista/7 (UAC).Per quello che vale, il prodotto utilizzato dalla mia azienda lo è Aggiornamento automatico+ e sembra funzionare abbastanza bene.

Per .NET, qualche tempo fa Microsoft Patterns + Practices ha pubblicato il file Blocco aggiornamento applicazione.Questo era (a mio avviso) piuttosto esagerato e ingegnerizzato, ma ha funzionato abbastanza bene.

In sostanza utilizzava uno "stub loader" per controllare un manifest e un servizio Web per vedere se era disponibile una versione del programma successiva a quella installata, quindi utilizzava la tecnologia di download in background BITS per scaricare una nuova versione se ne era disponibile una. il server.

Una volta scaricata e installata la nuova versione (con .NET questo è semplice come un xcopy nella cartella pertinente), l'applicazione aggiornerebbe il manifest.Al successivo caricamento del programma verrà avviata la nuova versione.

Sebbene il codice Patterns + Practices sia specifico di .NET, non c'è nulla che non possa essere copiato per un'applicazione non .NET, soprattutto se hai la possibilità di eseguire silenziosamente il processo di installazione in background.

Ho fatto una domanda simile.Segui il link per vedere le risposte.Aggiornamento automatico

Se la tua applicazione è scritta in .Net, potresti provare Fare clic su una volta.Tuttavia, utilizzando questo approccio è difficile eseguire azioni amministrative o personalizzate durante l'installazione.

wyUpdate sembra davvero carino.Guarda il video qui:http://wyday.com/wybuild/help/automatic-updates/

Per le applicazioni .NET potresti voler dare un'occhiata NetSparkle, una variante Sparkle per programmi .NET.È piuttosto nuovo (dal 2011) e sviluppato attivamente.

Sono appena arrivato qui da una risposta alla mia domanda sullo stesso argomento: ne menziono un'altra soluzione di aggiornamento nel mio domanda.Utilizza un caricatore di stub e un file xml per puntare all'eseguibile più recente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top