详解c#Winform程序自动更新实现方法(图)


当前第2页 返回上一页

如上图,New字段是保存最新的版本,Old是保存前一次的版本.。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

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程序自动更新实现方法(图)的详细内容!

返回前面的内容

相关阅读 >>

c#中tostring数据类型格式大全(千分符)总结

c#灵活使用类的方法分享

c#高级编程(二)-核心c#的详解

c#获取鼠标在listview右键点击单元格的内容方法详解

分享125个基本的c#面试问答

.net(c#)输入域名获取主域名小工具

利用unity脚本自定义分辨率实现相机截一张高清截图

c#开发实例-订制屏幕截图工具(七)添加放大镜功能的代码示例

新手学习.net编程计划-1

c# tabcontral选项卡中加载显示窗体后 实现单向参数传递测试代码示例(图)

更多相关阅读请进入《WinForm》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...