Heim >Backend-Entwicklung >C#.Net-Tutorial >Detaillierte Erläuterung, wie die automatische Aktualisierung des c#Winform-Programms implementiert wird (Bild)
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):Klassenbibliothek. 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:
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!