微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

程序自动更新

现在做WINFORM的人总会碰到系统自动更新的问题,在网上找了下有两个方法比较实用.

1.用M$的CLICKONCE技术 ,可参考下面的连接

http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/realworld12012004.mspx?mfr=true

http://dev.yesky.com/msdn/155/2033155_1.shtml

不过这个好象是2005的...所以象我用2003就麻烦了

2.用webservice作为更新服务器

程序启动的时候检测服务器,然后定义一个版本文件,检测版本文件,低的时候就下载,方便快捷,只是我做没下载过程序文件,不知道行不行.下边是关键的部分.这个是我现在在用的,暂时运行正常.

 /// <summary>  /// getBinaryFile:返回所给文件路径的字节数组。  /// </summary>  /// <param name="filename"></param>  /// <returns></returns>  public byte[] getBinaryFile(string filename)  {   if(File.Exists(Server.MapPath("xml//"+filename)))   {    try    {     ///打开现有文件以进行读取。     FileStream s = File.OpenRead(Server.MapPath("xml//"+filename));     return ConvertStreamToByteBuffer(s);    }    catch(Exception e)    {     return new byte[0];    }   }   else   {    return new byte[0];   }  }  /// <summary>  /// ConvertStreamToByteBuffer:把给定的文件流转换为二进制字节数组。  /// </summary>  /// <param name="theStream"></param>  /// <returns></returns>  public byte[] ConvertStreamToByteBuffer(System.IO.Stream theStream)  {   int b1;   System.IO.MemoryStream tempStream = new System.IO.MemoryStream();   while((b1=theStream.ReadByte())!=-1)   {    tempStream.WriteByte(((byte)b1));   }   return tempStream.ToArray();  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐