请问怎么做做自动更新程序

wyy1001 2006-03-07 03:56:14
当我对应用程序修改后,把更新的的dll,COPY到服务器安装包文件目录下,只要在客户端一打开这个应用程序,会自己判断是否要更新,来自己安装.


在帮助文件看了一下,没弄懂,请帮忙说一下噢.
http://www.microsoft.com/china/MSDN/library/netFramework/netframework/AutoUpdApp.mspx

不管怎么做,只要具有自动更新功能就有了!

谢谢
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwersky 2006-03-07
  • 打赏
  • 举报
回复
还有些东西应该考虑,比如没有版本号的,或着是这个文件不存在的(不存在当然你就可以直接升级),网上应该会有更好的升级方法,可以上网搜一下
qwersky 2006-03-07
  • 打赏
  • 举报
回复
更新的时候有一点要注意,最好是能备份一个文件,更新不成功的话就还原回去,还有文件属性有可能是只读的,还要改一下,如:
try
{
File.SetAttributes(strFile,FileAttributes.Normal);
System.IO.File.Copy(strFile,strFile+"Bk",true);
byte [] myBytes=(byte [])dr["FD"];
FileStream fs =new FileStream(@strFile,FileMode.Create,FileAccess.ReadWrite);
fs.Write(myBytes,0,myBytes.Length);
fs.Close();
File.Delete(strFile+"Bk");
}
catch
{
更新失败的话,在这里还原
}
qwersky 2006-03-07
  • 打赏
  • 举报
回复
大致:
System.Diagnostics.FileVersionInfo fileInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(@strFile);//strFile 是路径
string strVersion =fileInfo.FileVersion;
然后你自己写一个比较函数:string[] strFirst = first.Split('.');
string[] strSecond = second.Split('.');

for( int i = 0; i < 4; i ++ )
{
if ( int.Parse(strFirst[i]) > int.Parse(strSecond[i]) )
{
bl = true;
break;
}
else if ( int.Parse(strFirst[i]) < int.Parse(strSecond[i]) )
{
bl = false;
break;
}
}
就可以判断Dll是否是新的,知道是否是新的 你就可以做更新了
wyy1001 2006-03-07
  • 打赏
  • 举报
回复
怎么比较?
wyy1001 2006-03-07
  • 打赏
  • 举报
回复
怎么没人回答呀,是不是问题太简单,不值一提!
大哥们提一下吧,随便祝你们节日快乐!
没人顶,自已顶一下!
qwersky 2006-03-07
  • 打赏
  • 举报
回复
比较一下dll的版本号,然后更新

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧