借鉴了 shenyl0211 [分享]真正的全自动升级,http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=38980
适用于局域网、远程FTP服务器跨版本自动升级。大家可根据实际情况做相应扩展。
更新说明:
v0.1.1-130929:原v0.1.0版本的utmp变量(存放升级文件的临时文件夹)采用 "D:\utmp" & ComputerId 的方法,但个别电脑的 ComputerId 含有特殊字符,导致升级失败,现v0.1.1版本已修正。
v0.2.0-131001:增加远程FTP服务器自动升级。
v0.2.1-131005:修正FTP服务器环境下,升级所需文件不是放置在FTP服务器的根目录下,导致升级失败的问题(详见ftp.RootDir属性)。
v0.2.2-131011:
1、修改升级批处理命令代码,升级过程中屏幕不再显示进度信息(增加 @cls 命令,xcopy /q 参数)。
2、增加 自定义函数 CheckUpdate ,在 项目事件 AfterOpenProject 。适用于局域网环境检测,有新版本时出现相应提示。FTP服务器环境请根据实际情况修改相关代码。
3、附 EventCode.rtf 文件,供商业版用户参考。
操作说明:
1、局域网升级需要先设置在线升级路径,自动升级窗口-新的升级路径。或在项目属性中设置:管理项目-项目属性-在线升级路径。例如:
此主题相关图片如下:在线升级路径.png
2、局域网、FTP服务器都需要在在线升级路径放置升级所需的4个文件。
此主题相关图片如下:升级所需文件.png
3、升级文件设置如下:
update.txt、update.zip 就是系统自带的升级格式,详见帮助 http://www.foxtable.com/help/topics/2245.htm
Version.txt 就是 Catch 目录下的Version.txt,
Publish.zip 就是发布后 Publish 目录下的文件压缩包,不包含 Publish 本身。
此主题相关图片如下:升级所需文件.png
4、主要代码在窗口的 升级 Click 事件,已详细注释说明,并注明需要更改代码的地方。
此主题相关图片如下:自动升级1.png
此主题相关图片如下:自动升级2.png
5、发布后在局域网、FTP服务器环境已测试可以跨版本自动升级。
6、开发版文件下载:
v0.1.0-下载次数:27
v0.1.1-下载次数:10
v0.2.0-下载次数:22
v0.2.1-下载次数:15
[此贴子已经被作者于2013-10-12 9:20:15编辑过]