Maison > Article > développement back-end > Explication détaillée de la façon d'implémenter la mise à jour automatique du programme c#Winform (image)
C'est aussi la première fois que je fais une mise à jour automatique du programme Winform. J'ai trouvé le code source de la mise à jour automatique en ligne. Ensuite, je l'ai essayé moi-même pendant longtemps en me basant sur certaines méthodes que j'ai vues sur Internet. J'ai encore fait des erreurs, alors j'ai dépensé de l'argent pour demander aux autres de le faire. AideDébogageRéussi, voici ce que j'ai fait pour que tout le monde puisse apprendre. S'il y a des erreurs, veuillez me corriger
.C'est la première fois que je fais une mise à jour automatique du programme Winform. Je l'ai trouvé en ligne, j'ai obtenu le code source de la mise à jour automatique, puis je l'ai essayé pendant longtemps en me basant sur certaines méthodes que j'ai vues sur Internet, mais à la fin, j'ai quand même fait des erreurs, alors j'ai dépensé de l'argent pour demander aux autres de m'aider à le déboguer avec succès. Ce qui suit est ce que j'ai fait par moi-même, afin que tout le monde puisse en tirer des leçons, veuillez me corriger s'il y a des erreurs. 🎜>
1. Puisque je publie des mises à jour automatiques via IIS du serveur, avant la mise à jour, je copie manuellement le programme dans le répertoire du serveur IIS et apporte quelques modifications au client pour qu'il se mette automatiquement à jour normalement. La première étape consiste donc à ne pas connaître le serveur IIS (mon système est Windows 8) : Suivez la méthode ci-dessus, sélectionnez et cliquez sur OK, le système ajoutera automatiquement ces contenus, puis : Une fois le site Web créé, placez les fichiers écrits qui doivent être mis à jour dans le répertoire de fichiers correspondant au chemin physique que vous avez sélectionné. 2. Une fois le site Web créé, l'étape suivante consiste à trouver un moyen de le mettre à jour, c'est-à-dire de mettre à jour le fichier du serveur vers le client, je vais le faire. n'entrez pas dans les détails. Il y en a beaucoup en ligne. 3. L'adresse de téléchargement automatique du code source est introuvable. Si vous en avez besoin, veuillez laisser votre e-mail et je vous l'enverrai à nouveau.4. 🎜>bibliothèque de classes, référencez ensuite la bibliothèque de classes dans votre programme principal , et placez les deux fichiers de l'image ci-dessous dans le même dossier que votre programme principal :
5. Lors de l'appel du programme principal, je le mets avant le formulaire de connexion Comme je ne peux pas contrôler si le programme doit être mis à jour, je dois créer un processus. . Il s'agit de créer une table dans la base de données, comprenant deux champs
comme indiqué ci-dessus, le champ Nouveau sert à enregistrer la dernière version et l'Ancien sert à enregistrer la version la plus récente. version précédente.
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" ); } } } } }
Passez simplement à l'étape suivante et le programme principal mis à jour démarrera automatiquement une fois terminé.
6. Parlons des principaux paramètres de UpdateList.xml :
Ce qui suit est la version de mise à jour (nouveau champ dans le tableau) du programme que j'ai écrit. . Placez-le sur le client, dans le dossier de mise à jour de version sur la troisième image. Exécutez ce programme à chaque fois avant de mettre à jour le serveur pour mettre à jour la dernière version de la base de données :
. Le contenu ci-dessus est que j'ai dépensé beaucoup d'argent pour proposer une méthode pas très avancée, mais je n'y peux rien, je ne suis entré que récemment dans l'industrie et j'ai peu d'expérience. Je n'arrive pas à proposer une méthode avancée. . Je salue les corrections opportunes de chacun. En fait, les principales étapes sont les suivantes : établir d'abord le serveur IIS--> Créer un nouveau site Web--> Mettre le fichier du programme principal, le fichier de mise à jour et la mise à jour de la version dans le même dossier--> programme de mise à jour (principalement pour juger quand effectuer la mise à jour automatique)--> Configurer les paramètres dans le fichier de mise à jour automatique--> Créer le tableau de comparaison des versions dans la base de données--> modifier le contenu du fichier XML de mise à jour automatique. Exécuter la mise à jour de la version --> Attendre que le client se mette à jour
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!