(绝对干货)发布一个升级下载程序(不光免费而且带代码跟详细说明)
看了胡勇胸的“(干货).NET开发丰富的公共类库助你事半功倍(供下载免费使用)”提到:作为开发人员(苦逼)经常都在为一些常用的操作Baidu,Google,既耗时,又浪费青春,更没时间谈恋爱,苦逼就是这么来的。 挺有感触的,苦逼程序员浪费太多的生命在不必要的事情上了。 另外俺觉得胡胸做的不是很Man,既然拿出来了还不提供源代码,不提供源代码也就算了,居然还加密,我就想不明白总共就三核桃两枣的这样做累不累呢。看看人家java(当然.net最近开源也做的不错) 啥都开源。虽然开源代码十个有九个是不会去看的,但是有个代码在那,用着总放心点,不是要节约大家生命吗,试想你的程序如果出了问题或服务器受到入侵,这些不开源并且不是正规公司提供的代码首先会遭到怀疑,况且还加密的,那用着更是闹心加纠心了,有点行业经验的苦B程序员估计都不会去用,这样不是有背初衷吗?况且有Discuz,HiShop等一大堆更靠谱的未加密的dll可用,别人还会用你的吗?
好了唠叨结束,下面是俺用到的一个升级更新程序,主要是用来给WinCE的PDA程序升级用的,不过在局域网环境下Winform等用用也行,虽然没到达三核桃两枣的级别,但是俺是卖豆腐的来点清谈的也好啊^_^!
模块介绍:
服务端:
使用WebService在IIS托管,在站点下建个SyncDir/Files目录(可配置),这个目录下的文件包括目录都会被镜像的传送给客户端.
提供一个Bill.xml文件,在这个文件中可以配置排除一些文件或目录
提供AppSyncCfg.txt配置文件,允许设置版本号等信息,客户判断服务端版本号高于本地时进行整个下载(注意:不是部分更新)
提供一个Md5.aspx可以对配置中指定文件的扩展名生成签名保存在md5.xml文件中方便日后比对(有段时间服务器上的病毒老破坏俺的.exe,跟.dll导致下载后打不开)
客户端:
针对windows客户端文件按字节读出使用bytes[]传输,针对winCe客户端文件读出后进行Base64传给客户端,因为bytes[]方式在wince上一直没整成功!
针对WinCe的base64格式,在Md5.aspx页面中可以预先将对应的文件(.exe,.dll等可配置)生成"文件名+.base64sting"的文件,客户端请求时,直接将这个文件发送给客户端。
客户端提供一个AppSynCfg.xml文件允许设置版本号,下载完后启动文件,跟更新服务url等。
截图:
1.)运行效果
2.)AppSyncCfg.txt文件
3.)配置目录
3.)Bill.xml设置排除目录
4.)MD5.xml
5.)md5.aspx页面
6.)客户端配置
下载:
猛点这里
说明:
服务端跟其他项目混在一起,俺把需要的文件抽出来的,使用时自己整理编译下,建议使用WebApplication方式不要用网站方式,
客户端有wince跟win的两个