晕 用.NET的控件都可以做.
资料嘛 上个月的开发高手上就有.

解决方案 »

  1.   

    2004年8月《开发高手》上有讲,用的是appupdate控件,代码csdn上有下载.
    另:http://www.yesky.com/SoftChannel/72342380484755456/20030812/1720983.shtml
    有一些原理性的文章
      

  2.   

    private void updatedown_Load(object sender, System.EventArgs e)
    {
    try
    {
    string remoteUri = "http://www.jsrz.com.cn/kp/";
    string fileName = "htkpmgdownmdb.exe", myStringWebResource = null;
    WebClient myWebClient = new WebClient();
    myStringWebResource = remoteUri + fileName;
    myWebClient.DownloadFile(myStringWebResource,fileName); string sPaths = Application.StartupPath+@"\kpver.ini";
    //MessageBox.Show(sPath);
    ini.IniFile(sPaths);
    ini.IniWriteValue("Version","VersionNo",update.copynumsdown.ToString());
    ini.IniWriteValue("Version","UpdateTime",DateTime.Now.ToString());
    Process ps=new Process();
    string sPath =Application.StartupPath+@"\update.exe";
    ps.StartInfo.FileName=sPath;
    ps.Start();
    Application.Exit();


    }
    catch
    { MessageBox.Show("网络连接出错,请检查线路!");
    } }
      

  3.   

    也可以通过写个WEB SERVICE来实现,客户端定期扫描WEB SERVICE,如果有新版本了,download new version
      

  4.   

    发了,请查收,主程序也要写一点代码。
    //客户端
    procedure TfrmUpdate.MyUpdate;
    var
      sFile: String;//升级程序名(含完整路径)
    begin
      lbInfo.Caption := '正在下载新版客户端文件,请稍候';
      self.Update;
      Q_DLFILE.Open;
      sFile := ExtractFilePath(Application.ExeName) + Q_DLFILE.fieldByName('DLFILE01').AsString;//升级程序的名称
      TBlobField(Q_DLFILE.Fields.FieldByName('DLFILE05')).SaveToFile(sFile);
      Q_DLFILE.Close;
      WinExec(PChar(sFile),SW_SHOW);
      Application.Terminate;
    end;procedure TfrmUpdate.btnOkClick(Sender: TObject);
    begin
      btnOk.Visible := False;
      Label1.Visible := False;
      MyUpdate;
    end;