English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Sono il primo a fare aggiornamenti automatici per Winform, ho trovato il codice sorgente di aggiornamento automatico su Internet, poi ho provato a lungo secondo alcuni metodi trovati su Internet, alla fine ho ancora alcuni errori, quindi ho speso soldi per farli debugare da qualcun altro. Ecco quello che ho messo insieme, sperando che sia utile a tutti, se ci sono errori, benvenuti a correggerli.
1、Poiché pubblico aggiornamenti automatici tramite IIS del server, prima di aggiornare, copio manualmente il programma nella directory del server IIS e faccio alcune modifiche, in modo che il client possa aggiornarsi automaticamente. Quindi il primo passo è non essere familiare con il server IIS (sistema Windows 8):
Seguendo il metodo sopra descritto, dopo aver selezionato, fai clic su Conferma. Il sistema aggiungerà automaticamente questi contenuti, quindi:
Dopo aver creato il sito web, metti i file che devono essere aggiornati nella directory di percorso fisico che hai selezionato.
2、Una volta creato il sito web, ora dobbiamo trovare un modo per aggiornarlo, ovvero aggiornare i file dal server al client. Riguardo al processo e all'idea centrale, non lo illustrerò, ci sono molte informazioni su Internet.
3、Non riesco a trovare l'indirizzo di download del codice sorgente automatico. Se hai bisogno, lascia la tua email e ti invierò di nuovo.
4、Crea la libreria di generazione automatica del codice sorgente, quindi nella tua applicazione principale, aggiungi questa libreria. Metti i due file dell'immagine e la tua applicazione principale nella stessa cartella:
5、La chiamata al programma principale, nella parte del programma principale, ho messo prima della finestra di login, poiché non posso controllare se il programma necessita di aggiornamenti, devo creare un processo, ovvero creare una tabella nel database che includa due campi
Come illustrato nell'immagine, il campo New è usato per salvare la versione più recente, mentre il campo Old è usato per salvare la versione precedente.。
using Mulaolao.Forms; using Mulaolao.Procedure; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using Mulaolao.Other; using System.Threading; using StudentMgr; using System.Data; using System.Data.Sql; using System.Data.SqlClient; namespace Mulaolao { static class Program { //private static Mutex mutex; /// <summary> /// Punto di ingresso principale dell'applicazione. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Lettura della tabella DataTable da = SqlHelper.ExecuteDataTable("SELECT * FROM R_UpdateforOrder"); string news = "", old = ""; //Se la tabella non contiene dati, accedere direttamente senza aggiornamento if (da.Rows.Count < 1) { //Impostare la finestra di login per chiudersi dopo il login di successo e visualizzare la finestra principale Login lg = new Login(); lg.StartPosition = FormStartPosition.CenterScreen; lg.ShowDialog(); if (lg.DialogResult == DialogResult.OK) { Application.Run(new Form1()); } else { return; } } else { //Se la versione nuova nella tabella è identica alla versione vecchia, non è necessario aggiornare news = da.Rows[0]["New"].ToString(); old = da.Rows[0]["Old"].ToString(); if (news == old) { //Impostare la finestra di login per chiudersi dopo il login di successo e visualizzare la finestra principale Login lg = new Login(); lg.StartPosition = FormStartPosition.CenterScreen; lg.ShowDialog(); if (lg.DialogResult == DialogResult.OK) { Application.Run(new Form1()); } else { return; } } else { //Se la versione nuova nella tabella non corrisponde alla versione vecchia, è necessario aggiornare la versione vecchia alla nuova versione e avviare la finestra di aggiornamento automatico SqlHelper.ExecuteNonQuery( "UPDATE R_UpdateforOrder SET Old=@Old", new SqlParameter( "@Old", news ) ); System.Diagnostics.Process.Start( Application.StartupPath + @"\AutoUpdate.exe" ); } } } } }
Procedi con il passo successivo, una volta completato, il programma principale aggiornato verrà avviato automaticamente.
6. Parliamo dei parametri principali di UpdateList.xml:
Ecco il programma di aggiornamento della versione che ho scritto (campo New nella tabella), messo nel client, nella cartella di aggiornamento della versione nella terza immagine, esegui questo programma prima di aggiornare il server ogni volta:
Il metodo che ho speso denaro per sperimentare non è molto avanzato, non c'è altra scelta, chi ha iniziato di recente, non ha molta esperienza, non può creare nulla di avanzato, vi prego di correggermi tempestivamente. In realtà, i passaggi principali sono: prima di stabilire il server IIS --> creare un nuovo sito web --> mettere i file del programma principale, i file di aggiornamento, gli aggiornamenti di versione tutti in una cartella --> il programma principale chiama il programma di aggiornamento (principalmente per determinare quando eseguire l'aggiornamento automatico) --> configurare i parametri nel file di aggiornamento automatico --> creare la tabella di confronto delle versioni nel database --> coprire il programma sul server prima dell'aggiornamento, modificare il contenuto del file xml di aggiornamento automatico, eseguire l'aggiornamento della versione --> aspettare che il client si aggiorni autonomamente
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta ai rispettivi autori, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, questo sito cancellerà immediatamente il contenuto sospetto di violazione del copyright.