求教winform程序自动升级的方案

woshizhaoxuhui 2014-07-03 03:29:40
初学c# winform编程,请大家给一个比较详细的自动升级方案,客户端和服务端都有,谢谢了。
...全文
418 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
顶,我也需要这个
comcyd 2014-07-04
  • 打赏
  • 举报
回复
可以用iis的下载来实现呀,我是做过,看上去笨一些,但是很实用很好用的。原理大家都知道就是判断文件日期然后替换即可,把握这个思路其实只要做一个判断->下载->替换->启动的程序就可以了,专门做一个下载器,伪装成程序的主入口,每次进入都点击,但是内部是一个判断是否有更新的逻辑,下载完成后再隐藏当前窗体然后启动主程序窗口即可,前提是你的程序得做成dll单个模块的才好一些,如果只是一个单个的exe的话也一样的原理,每次只要下载一个更新文件即可。
PaulyJiang 2014-07-04
  • 打赏
  • 举报
回复
moeny 多多 就有人给你了
卧_槽 2014-07-04
  • 打赏
  • 举报
回复
我的更新程序是写在主exe里的。但是更新文件需要用Inner setup做成安装包。判断完本地版本和服务器版本后 ,主程序调下载安装包,调用安装包然后关掉自己就行了。 这样避免了升级进程的存在,麻烦打是每次都要打包。
sunny906 2014-07-03
  • 打赏
  • 举报
回复
文件要覆盖的目录可以根据你的主进程名称到注册表里找
sunny906 2014-07-03
  • 打赏
  • 举报
回复
楼上都说的很清楚了,两个进程,一个主进程,一个升级进程,升级进程负责判断本地程序版本v1跟服务器版本v2,如果v2>v1,就从服务端下载更新包到本地,然后解压覆盖即可,很简单,自己尝试着写写吧
小K的大师兄 2014-07-03
  • 打赏
  • 举报
回复
程序启动时和将本地版本和服务器版本进行比对,如果没有更新版本就直接启动程序;如果有更新版本则先启动更新程序,从服务器获取更新文件将本地文件覆盖即可,更新成功之后自动启动应用程序。如果你还想做得更好一点的话,可以再程序中加一个检查更新的按钮,可以随时检查是否有更新版本。方案是这样,源码得自己写。
xian_wwq 2014-07-03
  • 打赏
  • 举报
回复
引用 4 楼 bwangel 的回复:
具体方案,你就用微软的ClickOnce部署吧。
这个是实行方法里面比较简单的
於黾 2014-07-03
  • 打赏
  • 举报
回复
引用 3 楼 woshizhaoxuhui 的回复:
[quote=引用 1 楼 luoye4321 的回复:] 首先你要在程序中加一个功能,每次启动前 先判断当前版本是否为最新版本,如果是正常启动,如果不是,从服务器下载最新的动态库将现有的库给替换。这样就可以了吧。
谢谢指教,不过我更需要一个比较具体的例子[/quote] 你要的到底是方案还是源码? 方案很简单,两个程序,一个主程序,一个升级程序,先启动哪个都无所谓. 然后判断版本,下载. 下载方式可以很多种,socket传输,http下载,数据库读取文件,或者共享目录直接COPY,根据环境选择一种 直接求 DEMO,每个人实现方式不一样,也不能保证在你的应用中合适. 问题并不复杂,把问题分解开,哪里不会用查下就行了. 想不劳而获,直接拿到源码改都不改就用,不现实.
bwangel 2014-07-03
  • 打赏
  • 举报
回复
具体方案,你就用微软的ClickOnce部署吧。
woshizhaoxuhui 2014-07-03
  • 打赏
  • 举报
回复
引用 1 楼 luoye4321 的回复:
首先你要在程序中加一个功能,每次启动前 先判断当前版本是否为最新版本,如果是正常启动,如果不是,从服务器下载最新的动态库将现有的库给替换。这样就可以了吧。
谢谢指教,不过我更需要一个比较具体的例子
  • 打赏
  • 举报
回复
给个简单的思路:做个启动程序,启动主程序前先到服务器检测是否有新版本,有则下载覆盖之;没有就直接启动主程序。 这里有个文档和源码都齐全的升级组件,你可以参考下 http://download.csdn.net/detail/vb763305825/5305468
落叶1210 2014-07-03
  • 打赏
  • 举报
回复
首先你要在程序中加一个功能,每次启动前 先判断当前版本是否为最新版本,如果是正常启动,如果不是,从服务器下载最新的动态库将现有的库给替换。这样就可以了吧。

110,555

社区成员

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

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

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