读书人

一个通用自动更新demo,该怎么处理

发布时间: 2013-04-02 12:35:26 作者: rapoo

一个通用自动更新demo
一个用于自动更新主程序的辅助小工具,通过本地配置更新信息实现自动更新

UpdateApp.exe使用说明:
1.在服务器上配置好更新的xml(例如:http://iamsheep.net/update/modeupdate.xml),以及对应需要更新的文件
2.在本地UpdateSet.xml中配置好服务器xml路径,当前版本号,以及主程序名字

在主程序中直接调用打开UpdateApp.exe即可开始自动更新


这是第一个版本,只是完成最基本的更新功能,发现bug欢迎邮箱告知381126994@qq.com

欢迎大牛指点改进

一个通用自动更新demo,该怎么处理
一个通用自动更新demo,该怎么处理


下载地址:http://download.csdn.net/detail/ihateot/5166957
以前用的:
一个通用自动更新demo,该怎么处理
[解决办法]
我做的是把版本信息和新版软件写到数据库中的自动更新。
[解决办法]
顶楼主。
我现在正好遇到自动升级的问题。客户端中有一个dll是涉及硬件的,不用的硬件用不用的dll,如果需要更新dll该怎么做呢?(dll文件名字都是一样的,不过内部实现是不一样的)
[解决办法]

引用:
引用:现在都网页程序,不需要这些DD了。顶LZ。
现在 桌面程序有这么悲催么..........


桌面程序可以使用clickonce发布。
[解决办法]
引用:
ClickOnce还是很方便的, 稍微感觉有点奇怪的就是没有发生变化的文件, 也会被一起下载.

如果是引用其它工程,那么你在编译时不要选择“重新build”。一旦重新build,那么自然即使是没有修改的工程也编译新版本了。

lz的概念也是可以的。毕竟.net程序只要copy就可以运行了,根本用不着去安装。

例如我们做一个即时通讯程序,它就可以自己去更新。这个时候其实根本不需要去比较什么“版本号”,只要先下载一个文件列表,列表中有每一个文件的md5值,然后只有那些需要下载的文件才下载,不需要下载的文件就不必下载。

其实根本不需要比较什么版本号。


[解决办法]
ClickOnce好像要借助VS发布,而且还要源代码.....对于正规企业而言,发布人员在安全制度上是没有权限得到源代码的...
[解决办法]
问一下楼主,及楼上的大牛们:


有些自己写的DLL,第1次安装时,是安装到了 GAC中,
如果想自动更新GAC中的DLL 要怎么做?


[解决办法]
楼主,如果有新增文件,而且客户在更新时,没有连续,
即 vs2003 直接到vs2010,中间间断,这种处理方式,是不是就不合适了
[解决办法]
我开发的自动更新就更简单,直接把要更新的文件放在服务端和客户端同结构的文件夹内,一个服务直接遍历文件夹获取文件信息列表下到客户端,由客户端和本地文件比对决定更新哪些文件,维护量基本为0,因为要做的只是把最新文件扔进去,文件自己有时间戳。
当然,自动更新程序是一个很有意思的小软件,有很多细节要处理.比如自动更新自身的更新,如何绕开IIS的下载限制等
[解决办法]
引用:
问一下楼主,及楼上的大牛们:


有些自己写的DLL,第1次安装时,是安装到了 GAC中,
如果想自动更新GAC中的DLL 要怎么做?


谁让你安装的?

安装了也不必它。COPY执行就够了。
[解决办法]
比如说有人说“哦GAC中要有某某某dll才能执行啊!”这种话,你直接就把相应的dll拷贝到自己的程序目录里就行了,管它什么GAC呢?


[解决办法]

引用:
那样的话,可以在服务器的升级配置文件中多加一个属性比较当前版本和最新版本是“连续”或是“中断”

如果是“连续”,则下载本次更新只需的文件
如果是“中断”,则把最新版的全部文件都完整下载

忒复杂了吧。没有必要。

如果一定是一秒都耽搁不起,那么可以用引导程序先启动应用程序,而引导程序并行地下载“有差异的”文件(下载完毕给用户提示“可以重启应用程序”就行了)。

等下次再次启动引导程序时,才把上次下载来的文件覆盖到目标位置。

读书人网 >C#

热点推荐