网站大量收购独家精品文档,联系QQ:2885784924

sharp使用FTP实现客户端程序自动更新.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#使用FTP实现客户端程序自动更新 最近做的一个项目中需要用到客户端自动更新功能,最初的想法是利用ClickOnce技术来完成,但在实践中发现根本行不能,原因如下: 1)项目应用到了DevExpress控件包,用ClickOnce发布的自动更新程序,客户在安装时报在GAC中找不到控件dll的错。 2)ClickOnce安装无法实现根据用户安装时录入的参数(比如数据库服务器名、数据库用户名和密码等)来动态修改配置文件的功能。 3)最后一下其实不重要了,就是ClickOnce无法实现用户自定义安装文件夹。 ? 最后决定放弃使用ClickOnce,使用ftp方式进行,实现思路如下:用户启动程序时,先运行update.exe,该文件会自动比较本地配置文件和ftp服务器上配置文件的异同,会自动下载上次更新后变化的文件以及新加入的文件。(因为都是基本配置文件,所以开发了一个配置文件生成工具,用户只需要选择根目录后,就会自动生成配置文件。)文件下载结束后,再启动实际的客户端程序。 1using System; 2using System.Collections.Generic; 3using System.Diagnostics; 4using System.IO; 5using System.Net; 6using System.Threading; 7using System.Windows.Forms; 8 9namespace Update 10{ 11 /**//// summary 12 /// Description: 13 /// Author: ZhangRongHua 14 /// Create DateTime: 2009-6-21 12:25 15 /// UpdateHistory: 16 /// /summary 17 public partial class frmUpdate : Form 18 { 19 Fields#region Fields 20 21 private const string CONFIGFILE = update.xml; 22 private const string UPDATEDIR = PMS; 23 private string appPath = Application.StartupPath; 24 private ListErrorInfo errorList = new ListErrorInfo(); 25 private string locFile = String.Concat(Application.StartupPath, \\, CONFIGFILE); 26 private string tmpUpdateFile = TmpUpdate.xml; 27 private Liststring updateList; 28 private string updateTmpPath = string.Concat(Path.GetTempPath(), \\, UPDATEDIR); 29 private string url = String.Empty; 30 31 private FTP ftp = null; 32 33 #endregion 34 35 Delegates#region Delegates 36 37 public delegate void AsycDownLoadFile(string srcFile, string destFile, int i); 38 39 public delegate void ExecuteUpdateFiles(string srcPath, string destPath); 40 41 public delegate void UpdateComplete(); 42 43 public delegate void UpdateUI(int i, string message); 44 45 #endregion 46 47 public event UpdateComplete OnUpdateComplete; 48 49

文档评论(0)

y20062146 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档