易语言软件自动更新替换软件本身
本帖最后由 xy6232415 于 2018-11-22 11:08 编辑为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑请不要无视黄色提示
最近自己做的公司小软件在同事间传得有点多,我一旦更新得局域网什么的重新发一遍文件给他们。
感觉很麻烦,就借鉴了相关资料。做了一个自动更新
原理大致如下:服务器获取最新信息==》比对版本号==》判断是否强制更新==》下载文件==》删除旧版文件==》自动打开新版本软件
废话不多说,上图开搞
IE缓存很严重,这一步必须要的,窗口启动的时候清除一波
这一步是检测版本更新,获取一些配置文件进行(强制)更新,版本更新的方法如下
利用web网页,截取字符串的形式,web构造如下
这个页面你可以放在任何可以存放文本的地方,微博,百度等等
然后就是进入到下载界面,开始参考了很多下载,都不是很满意,基本上不能替换自己本身。或者说压根没法下载
后面想到了以前写过的一款以前的软件生成器的源码。参考案例并开始动手了。
进入更新界面,定义下载参数,下载地址是我们开始在WEB上设置的地址,路径里的软件名字随意取,只要不是软件原本的名字就OK。
声明回调函数,并执行替换脚本
生成cmd的echo指令。关闭进程后,删除掉本身。再将下载的文件替换成原始文件名
教程到这就结束了。码字不易,麻烦大家给评下分。
后续大家想学什么内容,也可以留言,我有空就会出教程。
本次教程的源码在下边。包含web网页文件
咨询下楼主,自动运行Bat时,首先断掉进程之后不会删除和改名只会运行当前的EXE。但是我手工运行Bat时候却能完美运行。请指教
.版本 2
.支持库 downlib
下载地址 = 删首尾空 (“*********”)
下载参数.类型 = #传送常量.下载
下载参数.文件地址 = 下载地址
下载参数.线程等待超时 = 1000
下载参数.默认线程数 = 5
下载参数.本地文件路径 = 取当前目录 () + “\HBMBLABLA1.exe.tmp”
下载参数.连接超时 = 5000
下载参数.发送超时 = 5000
下载参数.接收超时 = 10000
下载参数.接收大小 = 10240
下载参数.交互回调函数 = &交互回调函数
下载任务.增加新任务 (下载参数)
.子程序 替换新版
写到文件 (“update.bat”, 到字节集 (“@echo off” + #换行符 + “Taskkill /f /im ” + 取执行文件名 () + #换行符 + “Del ” + 取执行文件名 () + #换行符 + “ren ” + “HBMBLABLA1.exe.tmp ” + 取执行文件名 () + #换行符 + “start ” + 取执行文件名 () + #换行符 + “Exit”))
运行 (“update.bat”, 真, 1)
删除文件 (“update.bat”)
结束 () 要帅 发表于 2019-10-18 20:04
cmd 命令 没有错 偶尔会更新成功一次说明cmd没问题但更多的是重复楼上那张GIF里面的画面{:301_977: ...
你下载的文件名也要改成你的那个ys什么的 可以借鉴,之前用VB尝试做过类似设计。谢谢分享 支持楼主。。。。 感谢分享 可以借鉴学习一下 支持一下自动更新不错 收藏备用! 感谢分享。 感觉有一点emmm,不对,可又说不出哪里不对! 谢谢分享 想复习一下易语言了,毕竟是国人的编程语言