金山毒霸网络自动升级程序的原理及如何实现。
给我所在的学校做程序,遇到程序如何升级的问题,因为每做过,所以头疼。
学校给的时间又有限,希望大家帮忙。
给的说明越详细越好。可以另开贴加分。共可给500分。

解决方案 »

  1.   

    没写过.
    但可能是这样的:
        把各功能都写成dll 等模块, 主程序判断是否有新版本, 用升级程序把各模块下载到相应目录.
      

  2.   

    当然你的应用程序不能只有一个可执行程序了;楼上说的分成n的dll库是一个比较容易实现的方法.......
      

  3.   

    版本升级比较简单,通过某种连接(FileSharing/FTP/HTTP)取得版本信息,与当前版本(EXE/Registry)比较,不相等就建议下载(Copy/FTPGet/HttpGet),更新版本。目前我们的产品提供通过ftp/http/Windows sharing方式更新,具体代码不能公开。
    但baseclass基本上是:
    protected
      GetRemoteFileVersion();
      GetLocalFileVersion();
      Connect();
      Disconnect();
      Login();
      Logout();
    public
      CheckVersion(): updateflag;
      Download();
      class function ICanDoIt(): Boolean;
    public
      property LocalFileName;
      property RemoteFileName;
      property Username;
      property Password;
      可以使用zip+ver.txt方式
      

  4.   

    可能是这样的 , 程序一旦运行,先检查机器是不是接入 Internet, 如果接入,就读出程序版本信息与网站中存放的最新版本比较,如果相同不作处理,如果有升级则给处用户一个新版本信息或直接启动IE 进入下载页面 ;