Winform顺序自动更新我也是第一次做,网上找了自动更新的源码,厥后又依据在网上看到的一些要领,本身试了良久,终究照样有写毛病,所以花了钱让他人帮助调试胜利的,下面是我本身捣腾出来的,轻易人人自创,假如有什么毛病的处所迎接斧正.
1、因为我是经由历程服务器的IIS宣布自动更新的,更新之前先手动把顺序复制到IIS服务器的目次下面,做一些变动,客户端才一般自动更新。所以第一步是不熟IIS服务器(本人体系windows8):
根据上面的体式格局,选了以后点肯定,体系会自动增加这些内容,然后:
网站竖立好了以后,把写好的须要更新的文件放入你选的物理途径对应的文件目次下面就OK。
2、网站竖立好了,那末下面就是要想方法搞更新了,也就是从服务器更新文件到客户端,至于细致的历程和中心思想我就不赘述了,网上许多。
3、自动源码下载地点找不着了,假如有须要的,请留邮箱,我再发.
4、把自动源码生成类库,然后在你的主顺序援用该类库,把下图的两个文件和你的主顺序放在同一个文件夹下面:
5、主顺序的挪用,在主顺序内里挪用我是放到登录窗体之前的,因为我没方法控制顺序是不是须要更新,所以我须要竖立一个历程,就是在数据库竖立一个表,包含两个字段
如上图,New字段是保留最新的版本,Old是保留前一次的版本.。
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" ); } } } } }
下一步即可,完成以后会自动启动更新后的主顺序。
6、说说UpdateList.xml内里的重要参数:
下面这个是我写的更新版本(表中New字段)的顺序,放在客户端,第三张图内里的版本更新文件夹内里,每次更新服务器之前先运转这个顺序,更新数据库最新版本:
以上内容就是我本身花了钱折腾出来的不怎么先进的要领,没方法,谁让本身入行不久,没什么履历,本身也搞不出先进的来,迎接人人实时斧正。实在重要的步骤:先竖立IIS服务器-->新建网站-->把主顺序文件、更新文件、版本更新一股脑放在同一个文件夹下面-->主顺序挪用更新顺序(重如果推断什么时候举行自动更新)-->把自动更新文件内里的参数设置好-->数据库内里的版本对照表建好-->更新之前在服务器覆盖住顺序,修正自动更新xml文件内容,运转版本更新-->守候客户端本身更新
以上就是详解c#Winform顺序自动更新完成要领(图)的细致内容,更多请关注ki4网别的相干文章!