初学c# winform编程,请大家给一个比较详细的自动升级方案,客户端和服务端都有,谢谢了。 |
|
10分 |
首先你要在程序中加一个功能,每次启动前 先判断当前版本是否为最新版本,如果是正常启动,如果不是,从服务器下载最新的动态库将现有的库给替换。这样就可以了吧。
|
10分 |
给个简单的思路:做个启动程序,启动主程序前先到服务器检测是否有新版本,有则下载覆盖之;没有就直接启动主程序。
这里有个文档和源码都齐全的升级组件,你可以参考下 http://download.csdn.net/detail/vb763305825/5305468 |
谢谢指教,不过我更需要一个比较具体的例子 |
|
10分 |
具体方案,你就用微软的ClickOnce部署吧。
|
10分 |
你要的到底是方案还是源码? |
10分 |
这个是实行方法里面比较简单的 |
10分 |
程序启动时和将本地版本和服务器版本进行比对,如果没有更新版本就直接启动程序;如果有更新版本则先启动更新程序,从服务器获取更新文件将本地文件覆盖即可,更新成功之后自动启动应用程序。如果你还想做得更好一点的话,可以再程序中加一个检查更新的按钮,可以随时检查是否有更新版本。方案是这样,源码得自己写。
|
10分 | |
10分 | |
10分 |
楼上都说的很清楚了,两个进程,一个主进程,一个升级进程,升级进程负责判断本地程序版本v1跟服务器版本v2,如果v2>v1,就从服务端下载更新包到本地,然后解压覆盖即可,很简单,自己尝试着写写吧
|
10分 |
文件要覆盖的目录可以根据你的主进程名称到注册表里找
|
可以用iis的下载来实现呀,我是做过,看上去笨一些,但是很实用很好用的。原理大家都知道就是判断文件日期然后替换即可,把握这个思路其实只要做一个判断->下载->替换->启动的程序就可以了,专门做一个下载器,伪装成程序的主入口,每次进入都点击,但是内部是一个判断是否有更新的逻辑,下载完成后再隐藏当前窗体然后启动主程序窗口即可,前提是你的程序得做成dll单个模块的才好一些,如果只是一个单个的exe的话也一样的原理,每次只要下载一个更新文件即可。
|
|
我的更新程序是写在主exe里的。但是更新文件需要用Inner setup做成安装包。判断完本地版本和服务器版本后 ,主程序调下载安装包,调用安装包然后关掉自己就行了。
这样避免了升级进程的存在,麻烦打是每次都要打包。 |
|
moeny 多多 就有人给你了
|
|
顶,我也需要这个
|