请问 用c#实现软件的更新 就是在启动软件时自动检测软件的版本号 然后完成升级操作 
好实现吗?我是初学者,希望大家多多帮忙。[email protected]

解决方案 »

  1.   

    可以。通过web services和XML实现自动升级
    http://topic.csdn.net/u/20090422/08/69f9713b-3982-4313-ab11-7fb6eefdcf93.html?seed=987436713
    http://topic.csdn.net/u/20081223/21/b0825274-2ce5-4dfc-8fdb-116660bc0e3c.html
      

  2.   

    我自己写了两种方式实现更新,1。FTP更新。
    2。局域网文件夹共享更新。第二种简单点,但是局域网嘛,局限性大一点。
      

  3.   

    VS2005以上的话,可以考虑用ClickOnce发布.它本身就提供的自动更新.
      

  4.   

    如果用ClickOnce 能否提供下源码呢?
      

  5.   

    你可以到网上搜索 AutoUpdate 我之前也是按照AutoUpdate思路进行制作的 挺好的
      

  6.   

    原理如下:
    1 发布新版本在指定路径上
    2在数据库建立存放版本的表
    3在登陆的时候判断,如果当前版本不等于数据库版本则升级
    4升级才用批处理文件覆盖本地
    ,,如果需要源代码,发消息给我邮箱   [email protected]
      

  7.   

    导入 
    using System.Diagnostics;
    using System.Net;Load事件
          string url = Process.GetCurrentProcess().MainModule.FileName;//取得程序路径
          string  vv = AssemblyName.GetAssemblyName(url).Version.ToString();//取得版本号
          WebClient wc = new WebClient();
          wc.DownloadFile("", "");//建立连接下载服务器的版本文件然后比较版本号
      

  8.   

    这个问题我想过,我的方法(不知道公认的方法是什么)是:
    在自己的网站,比如:www.abcdefg123.com/update目录下放一个最新的程序,并且放一个version.txt的文本,version.txt文本里面写的就是update目录下那个最新程序的版本,我们的程序检查更新的时候,下载version.txt文本(一般很小,因为里面只有几个数字),看看他里面写的版本是什么,是比现在的高的话,就下载update目录下的程序,覆盖原来的程序,
    当然,你要用原来的程序来调用更新程序,再用更新程序下载最新程序覆盖原来的程序!明白不?
      

  9.   

    利用反射,查找程序集的信息
    //反射得到当期的版本号与升级程序的版本号进行对比,如果不一致就进行升级。
    class Program
    {
         static void Main(string[] args)
          {
           string version=Assembly.loadfile(@"(程序的路径)").GetName().Version.ToString();
           Console.Writeline(version);
          }
    }if(currentVersion!=Version)
    {
          //读出有多少个文件需要更新
             int newFileCount=int.Parse(sr.Readline());
          for(int i=0;i<newFileCount;i++)
           {
            //取得文件下载路径和文件名
            UpdateFile updateFile=new UpdateFile();
            updateFile.FileName=sr.ReadLine();
            updateFile.DownLoadPath=sr.ReadLine();
            files.Add(updateFile);
           }
           foreach(UpdateFile file in files)
           {
            WebClient webClientNew=new WebClient();
            //更新每个文件,注意web服务器的位置
            webClient.DownloadFile(file.DownLoadPath,file.FileName)
           }
           MessageBox.show("升级成功!")
    }
    else
    {
         MessageBox.show("你的程序已经是最新的版本!")
    }
      

  10.   

    我从网上看了和你的思路差不多,只不过不是txt文本,而是XML文档,还是谢谢了