Pic:
在线升级程序下了很多时间去构思和编写,原本是只供我写的CrazyFansBox上用的.后来觉得不错.就决定写成模块供其他人使用.
由于是模块,需要定义很多公开的接口,所以增加了一些编写的难度.不过都一点点解决掉了.^_^
模块特点:可自定义升级窗口图标;可自定义升级窗口标题栏标题;可自定义升级窗口图片;可自定义窗口中显示的主程序名称;支持多级目录升级;Zip压缩格式更新文件下载;对升级服务器无特殊要求只要支持txt及zip的http下载即可;可自定义是否以对话框模式载入升级窗口;可自动检测新版本自动提示是否升级;可对当前版本是否为最新弹信息框提示判断;支持无限个升级地址列表定义;静默模式支持更新完毕自结束;提供静默升级模式无需用户参数自动完成升级过程;可覆盖更新程序自身;可备份程序目录,可做备份排除;模块所用支持库少,只用到核心支持库及压缩解压支持库;使用多线程类,杜绝程序假死现象;模块体积小巧,小于200KB;窗口界面专业级别….等等
V1.0#8付完整的帮助文档及范例
- 2007-2-12 01:32:此次更新比较谨慎,做了建议收集,希望能让更多的朋友给自己的程序添加在线更新功能.版本号为:锌新在线更新模块V1.0#8●增加两重文件校检,现三重校检最大程序保证更新文件的正确性.
●增加定义向导模式窗口左侧图片参数.
●增加升级检测如果无新版本可设置提示信息框参数.
●增加静默更新前是否弹信息框提示参数.
●增加备份目录参数,可以备份整个程序目录,也可做备份排除.
●修正静默模式无法保留主程序运行的Bug.
●修复向导模式完成更新后的窗口有提示是否关闭对话框的Bug.
●所有信息框都做置前修改(改为#系统等待).2006-12-11 14:09:最近更新是不是频繁了点?希望不会再出现什么新Bug.版本号为:锌新在线更新模块V1.0#7
●增加一个新的参数,可用作自定义更新文件后缀,便于各别服务器不允许下载Zip文件的朋友也能正常使用模块.
●某些情况下,程序首次复制更新文件会失败,再一次做了修改.虚拟机下测试已正常. - 2006-12-9 23:33:牙疼不是病,治起来真要命,补一颗牙都快比镶金子贵嘞.唉.版本号为:锌新在线更新模块V1.0#6●静默模式添加一个新的参数,如本地程序无需更新,则可自动结束升级程序.
●修正非独立编译时因缺少核心支持库而无法正常复制更新的Bug - 2006-11-27 23:35:这两天牙疼,什么都不想做.最近看讨论各种个人写的杀毒软件,很逗.以为我的这个模块销声匿迹了,没想到这几天又有朋友来关注了.为了对得起大家,又检查了一下.模块的结束主程序参数中所定义的程序名称与升级模块所属程序名称相同时候会出现无法复制更新文件的Bug.版本号为:锌新在线更新模块V1.0#5●修正静默模式下结束主程序与复制更新模块冲突的Bug点击下载此文件
- 2006-9-22 14:53:忙碌为了什么?我不知道!几位朋友反映说模块很好,但是有Bug,这次抽时间进行了修正.小小测试了一下,应该不会有问题了.版本号为:锌新在线更新模块V1.0#4●修正升级模块执行最后的复制更新文件失败的错误
●修正结束主程序与复制更新模块冲突的Bug - 2006-8-31 21:10:熬了几个夜晚,终于完成了这个版本.此版本属最终版本,以后只针对Bug进行修复.版本号为:锌新在线更新模块V1.0#3●增加2个新接口:静默升级模式,升级检测模式
●修正本地版本配置文件不存在时可能发生问题的小Bug
●原来过多支持库使用减少到只使用2个支持库.
●修正向导模式下中途关掉升级窗口可能出现窗口未载入的错误.
●缩减模块体积,由原来的685KB缩减到不到200KB
●修复主程序目录名存在空格时候文件复制失败错误. - 2006-7-20 00:43:模块名称更名为”锌新在线更新模块”,测试了一下,做了一些修正.
●修正升级网址描述参数最后一个服务器描述的截取错误.
●修正升级完毕后运行主程序参数判断错误
●修正最后”完成升级”按钮页面说明文字中关于程序名称的显示.点击下载此文件 - 2006-7-19 18:03:仓促的推出第一个版本,完成所有想公开的接口编写,没有作Bug测试.模块名称定为”锌新在线升级更新模块V1.0#1″点击下载此文件
not found the kernel library or the kernel library is invalid 升级出现这个错误 是怎么回事
文件不能 解压覆盖到
主程序进程已经结束了
模块不错,不知道现在那个BUG修复没!!!
局域网内更新的问题不知道解决了没!!!
请教大家锌新在线升级更新后的客户端文件自定义目录怎么弄,默认都是在根目录下.
我的意思是更新后的文件能自定义目录。比如data/下。现在默认更新完成那些更新文件直接在根目录下。。
升级模块发现错误
错误描述 分析升级文件列表出现错误
@新手哈:正在改写核心部分,将支持端口多线程下载及断点续传.
能不能把下载写成多进程的???
osur:易挺好学的,看看就会了.别那么说.我都不好意思了.^_^
我恨楼主!
我恨死楼主!
楼主你怎么可以这样优秀
你这样优秀让我感觉学易语言没有出头之日
…何时我才能超过你
恨死楼主!
毒来毒网:你下载最新的文件.里面的帮助文档应该没问题的.你下载的是哪一个文件?
威阿 帮助里显示无法显示页。
找啊找:如果发现新的Bug并且找到解决Bug的办法,我会及时升级更新模块.暂时还没有新的版本,你说的新版更新摘要提示你可以这样来作,在服务器的更新列表上添加一新项,内容为你新版更新摘要,作一个子程序读取Updata下的UpList.ini文件(也就是每次检测后下载到本地的升级列表)中的你添加项的内容做成摘要窗口.然后使用升级检测等模式中的子程序调用调用该子程序,有新版本则弹出你的这个摘要窗口的子程序即可.这种方法摘要窗口定制性灵活,我觉得是不错的方法.有不明白的地方欢迎留言.
什么时候再做更新?比如加个新版更新摘要提示!等等~ 更人性化一点呀。
newbees:模块无限制免费使用,源码不免费提供.
非常好的模块,想要源码,谢谢xow2005@163.com
LTSJ:因为是通过Http模式下载,所以没必要多增加自定义端口的参数,你只要在你网址后面加上端口好即可,比如http://1vr.cn:8050这样.
霸占YOU:因为很多时候升级检测是间隔性检测的,如果本地是最新版本也要提示的话那么将会导致这个为最新版本的提示周期出现,造成不必要的麻烦.
如果检测更新能有如果已经是最新版的提示广就好了
这点作者您看呢?
这样默认用户也不知道到底是不是最新
谢谢
这个模块果然不错,但如果能够支持自定义端口那就好了!~~
冬宁:感谢你踢出的几点建议,我有时间会针对性的进行一些修改,不过分割符的事情恐怕不会加以修改,因为这个没有实际意义,我觉得.
首先谢谢您编写的更新模块。
其中静默升级和(升级检测)可以控制是否弹出对话框就好了,本人感觉既然是静默升级,有的时候也就没有必要与用户交互,对吧!
还有就是“UpList.txt”哪个配置文件中的文件列表的文件分隔可以自己定义就好多了。(此想法是因为您提供的哪个测试升级的服务器配置文件是用“&”分隔的。)
雨幻:因为结束主程序进程是根据主程序名称结束的,所以遇到同名时候会同时结束.而自己的程序与其它同时运行的程序同名的概率好像不大,这个我看看有时间我处理一下.
四眼:抱歉.因一些朋友购买了源码作为商用.所以源码不能无偿提供.如需要请Q我.
老大,你的更新模块很不错!!支持下!!能不能给个源码啊?谢谢了!我的E-Mail:http202@sina.com
静默升级如何不弹出对话框?还有就是我生成程序运行之后,升级程序退出,QQ也跟着退出了,怎么回事?
四裤全输:你提到的两个问题我都进行了修改和修正,增加定义更新文件后缀参数,修正不能及时结束进程的Bug.
首次更新失败应该和你的的多线程有关系,我结束的是一个主程序进程,而你有多个进程没有退出,自然会覆盖失败.这个要解决,我想应该从你的多线程入手.至于删除zip文件问题.我查看了一下.的确是只认zip文件,没有加过多的判断,就像有朋友问我为什么不用FTP模式,我说因为绝大部分的虚拟主机都没有独立的FTP下载.所以Http下载还是比较大众一点.就像zip下载.绝大多数还是支持zip下载的.不允许直接下载zip的服务器我觉得还真不多.你不是写了一个小过程来删除这些多余文件吗?能解决就好.嘿嘿.卸载的问题也需要你写工具添加,卸载程序也很多种.我无法确定到底以什么方式写更新文件列表到卸载配置文件中.所以不能自定义了.上面这些都是很个人化的定制问题,想完美,只有你自己拿到模块源码进行Diy啦.^_^谢谢参与模块测试.我就怕D版编译出来的E有未知问题.还好,至少现在没发现.
老大,多谢您的热心帮助。1.0#6我已经下载测试了,一个小BUG,两个小建议向您汇报如下:1、软件第一次更新均以失败告终,手工把配置文件改成低版本重新更新后成功。好像是自杀并覆盖低版本主程序的时候,原进程还没有完全退出(我做了一个测试程序,1.0版和2.0版只有主界面不同,发现更新后程序重启时进程中的原文件并还没有退出)。2、更新完成后,从升级服务器上下载的文件应该全部删除的,但老大的模块好像只认识zip文件,像有的服务器不允许直接下载zip文件的,我的做法是把zip改名为txt,导致下载后的文件不能删除。要是能读取“文件列表”参数中提供的文件名,再全部删除就好了,那就不会留下自定义文件了。3、通过这种方式升级后的程序卸载时,后来更新的文件不能卸载干净,其实老大完全可以在更新的时候把新添加的文件逐条加进 文件中就可以了。
虽然有小BUG,但我非常感谢老大的无私奉献,我是刚学易的新手,以后还望老大多多指教。
四裤全输,谢谢你发现非独立编译的无法复制更新的Bug,已经修复.请下载V1.0#6版测试.我架虚拟机测试过了,没有发现问题.
牙还要去彻底的补一次,真TM贵啊.
阿威很热心啊,我改了人家一个小程序,变成自动升级的,出了点问题,老大亲自帮我测试。呵呵,对我们菜鸟来说太好了。老大的牙疼什么时候好?要是不行就把它拨了算了。我也拨掉过一个牙,感觉比治牙更彻底,一劳永逸么。
zjh00958:程序结束参数中描述的主程序进程和升级模块的进程名有冲突,导致升级复制文件模块的程序一并被结束掉,所以导致这个错误,我尽快检查修正这个错误,发布新版本.
谢谢xiaoke的解释,看来应该是和D易有一定的关系,没办法,只能放到单独的程序中了,谢谢你了,不过最后可能还是会出现无法替换升级程序本身的问题。郁闷,没有钱买ZB的。
zjh00958:范例文件能否测试通过?我很久没有做这个模块的测试和更新了,因为模块的参数接口过多,导致我的D版易总是出现未知的系统错误.有一些朋友反映这类问题我觉得可能是因为D版易的编译问题,多尝试编译几次,或者非独立编译,或者将更新模块独立编译成一个升级程序,不与主程序编译到一起试试.祝你成功.
从易语言中执行没有问题,但是编译之后就不能自动更新了,updata中已经将文件下载了,但是没有调用出哪个”正在更新文件请等待”的提示,我用的是静默的,在自己的主程序中启动时调用,检测有无更新.
程序自带的范例你测试是否正常?下载时候查看updata目录下是否有更新文件.再就是点完成升级能否看到重新弹出一个小窗口提示” 正在更新文件请等待….”这类的提示.再就是更新完毕后updata是否被删除.你说的没有反映是指的什么.没下载?没更新?没自动执行主程序?
老大,我用你的在线更新写局域网的程序,不知怎么的,老是出错。能不能告诉我局域网内怎么用的吗?QQ13538877