c#程序中加一个自动更新功能如何实现?

shbaby008 2013-05-03 08:50:18
主程序A.exe一启动,连接到服务器判断是不否有新版本,如有新版本下载下来

但不能覆盖呀,因主程序A.exe本身在使用中,怎么办呀?
...全文
222 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
YJDP0918 2013-05-03
  • 打赏
  • 举报
回复
1.升级程序是单独的,升级时关掉主程序 2.主程序检测到有更新后下载新程序,并且用不一样的目录或程序名。然后关掉主程序,删了旧版程序,用新程序启动。QQ管家就是样的。每个新版本的目录名都不一样。等于每个新版本都是全新安装。
YJDP0918 2013-05-03
  • 打赏
  • 举报
回复
1.升级程序是单独的,升级时关掉主程序 2.主程序检测到有更新后下载新程序,并且用不一样的目录或程序名。然后关掉主程序,删了旧版程序,用新程序启动。QQ管家就是样的。每个新版本的目录名都不一样。等于每个新版本都是全新安装。
nbbkim 2013-05-03
  • 打赏
  • 举报
回复
A.exe检查到有更新时,提示用户是否需要更新,如果是,启动 b.exe 到服务器去下载回来,杀掉 A.exe进程,再覆盖A.exe。
yaotomo 2013-05-03
  • 打赏
  • 举报
回复
就是7#的方法。
yaotomo 2013-05-03
  • 打赏
  • 举报
回复
设置一个XML文件记录程序版本信息,启动时对比版本。
  • 打赏
  • 举报
回复
做一个启动程序,程序启动的时候到服务器下载清单文件,把本地的版本号和清单上面的版本号匹配、如果一致就启动主程序,如果不一致就说明有新版本、这时候就进行下载、覆盖,最后启动主程序 最后附送个微软自己写的自动更新组件 http://download.csdn.net/detail/vb763305825/5305468 里面有详细的开发文档及源码例子、撸主可以参考下 接分
  • 打赏
  • 举报
回复
两种方案 1.搞个守护进程负责下载升级重启主程序 2.主程序检测到新版本后,在后台把它下载到临时目录里,并启动一个事先写好的批处理,将路径等参数传进去,然后主程序主动停止,(为了确保退出,批处理中还可以再强杀一下主程序进程) 完了再启动主程序
燕雀之志 2013-05-03
  • 打赏
  • 举报
回复
你肯定要关闭自己,启动更新文件啊。
deepmist 2013-05-03
  • 打赏
  • 举报
回复


                    Process.Start(Application.ExecutablePath);
                    Environment.Exit(0);
luckyccc 2013-05-03
  • 打赏
  • 举报
回复
最简单就是做1个更新监视程序,在后台运行,有更新就关掉A,然后更新
please_call_me_J 2013-05-03
  • 打赏
  • 举报
回复
a.exe中选择了更新后,关闭自己,同时启动另外独立的exe来下载、覆盖a.exe
baysos 2013-05-03
  • 打赏
  • 举报
回复
你没发现一般程序更新时都要关掉主程序么?

110,533

社区成员

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

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

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