Dies ist auch das erste Mal, dass ich ein automatisches Update des Winform-Programms durchführe. Dann habe ich es selbst lange ausprobiert, basierend auf einigen Methoden, die ich im Internet gesehen habe. Ich habe immer noch Fehler gemacht, also habe ich Geld ausgegeben, um andere zu bitten, es zu tunFehlerbehebungErfolgreich, das Folgende ist, was ich gemacht habe, damit jeder daraus lernen kann, bitte korrigieren Sie mich.
Dies ist das erste Mal, dass ich ein automatisches Update des Winform-Programms durchführe. Ich habe den Quellcode des automatischen Updates gefunden und es dann lange versucht, basierend auf einigen Methoden, die ich im Internet gesehen habe Am Ende habe ich immer noch Fehler gemacht, also habe ich Geld ausgegeben, um andere zu bitten, mir beim Debuggen zu helfen. Damit jeder daraus lernen kann, korrigieren Sie mich bitte 🎜>
1. Da ich automatische Updates über den IIS des Servers veröffentliche, kopiere ich das Programm vor dem Update manuell in das Verzeichnis des IIS-Servers und nehme einige Änderungen am Client vor, um die Aktualisierung automatisch durchzuführen. Der erste Schritt besteht also darin, sich mit dem IIS-Server nicht vertraut zu machen (mein System ist Windows 8): Folgen Sie der oben genannten Methode, wählen Sie aus und klicken Sie auf OK. Das System fügt automatisch hinzu diese Inhalte und dann: Nachdem die Website eingerichtet ist, legen Sie die geschriebenen Dateien, die aktualisiert werden müssen, in das Dateiverzeichnis ab, das dem von Ihnen ausgewählten physischen Pfad entspricht. 2. Nachdem die Website eingerichtet ist, besteht der nächste Schritt darin, eine Möglichkeit zu finden, sie zu aktualisieren, dh die Datei vom Server auf den Client zu aktualisieren. Was den spezifischen Prozess und die zentrale Idee betrifft, werde ich es tun Ich gehe nicht auf Details ein. Es gibt viele online. 3. Die automatische Quellcode-Download-Adresse kann nicht gefunden werden. Wenn Sie sie benötigen, hinterlassen Sie bitte Ihre E-Mail-Adresse.Generieren Sie den automatischen Quellcode imKlassenbibliothek. Verweisen Sie dann auf die Klassenbibliothek in Ihrem Hauptprogramm und legen Sie die beiden Dateien im Bild unten im selben Ordner wie Ihr Hauptprogramm ab:
5. Beim Aufruf des Hauptprogramms stelle ich es vor das Anmeldeformular. Da ich nicht steuern kann, ob das Programm aktualisiert werden muss, muss ich einen Prozess erstellen . Es dient dazu, eine Tabelle in der Datenbank zu erstellen, die zwei Felder enthält, wie oben gezeigt, das Feld „Neu“ dient zum Speichern der neuesten Version und das Feld „Alt“ zum Speichern der vorherige Version.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> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main( ) { Application.EnableVisualStyles( ); Application.SetCompatibleTextRenderingDefault( false ); //读取表 DataTable da = SqlHelper.ExecuteDataTable( "SELECT * FROM R_UpdateforOrder" ); string news = "", old = ""; //如果表中没有任何数据,则直接登录,不用更新 if (da.Rows.Count < 1) { //设置登录成功之后关闭登录窗体 显示主窗体 Login lg = new Login( ); lg.StartPosition = FormStartPosition.CenterScreen; lg.ShowDialog( ); if (lg.DialogResult == DialogResult.OK) { Application.Run( new Form1( ) ); } else { return; } } else { //如果表中的新版本和老版本一致,也不需要更新 news = da.Rows[0]["New"].ToString( ); old = da.Rows[0]["Old"].ToString( ); if (news == old) { //设置登录成功之后关闭登录窗体 显示主窗体 Login lg = new Login( ); lg.StartPosition = FormStartPosition.CenterScreen; lg.ShowDialog( ); if (lg.DialogResult == DialogResult.OK) { Application.Run( new Form1( ) ); } else { return; } } else { //如果表中的新版本和老版本不一致 则需要把老版本更新成新版本 同时启动自动更新窗口 SqlHelper.ExecuteNonQuery( "UPDATE R_UpdateforOrder SET Old=@Old", new SqlParameter( "@Old", news ) ); System.Diagnostics.Process.Start( Application.StartupPath + @"\AutoUpdate.exe" ); } } } } }
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung, wie die automatische Aktualisierung des c#Winform-Programms implementiert wird (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!