Foxtable(狐表)用户栏目专家坐堂 → [分享] 跨版本自动升级(更新v0.2.2-131011,适用于局域网、远程FTP服务器跨版本自动升级)


  共有10742人关注过本帖树形打印复制链接

主题:[分享] 跨版本自动升级(更新v0.2.2-131011,适用于局域网、远程FTP服务器跨版本自动升级)

帅哥哟,离线,有人找我吗?
chenganlu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:4016 威望:0 精华:0 注册:2009/11/14 19:13:00
[分享] 跨版本自动升级(更新v0.2.2-131011,适用于局域网、远程FTP服务器跨版本自动升级)  发帖心情 Post By:2013/9/28 17:32:00 [显示全部帖子]

借鉴了 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

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨版本自动升级(v0.2.2-131011).zip

 

[此贴子已经被作者于2013-10-12 9:20:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chenganlu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:4016 威望:0 精华:0 注册:2009/11/14 19:13:00
  发帖心情 Post By:2013/9/29 20:26:00 [显示全部帖子]

1楼 更新v0.1.1-130929、增加详细说明。


 回到顶部
帅哥哟,离线,有人找我吗?
chenganlu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:4016 威望:0 精华:0 注册:2009/11/14 19:13:00
  发帖心情 Post By:2013/10/1 15:29:00 [显示全部帖子]

1楼 更新v0.2.0-131001,可以使用远程FTP服务器自动升级。

 回到顶部
帅哥哟,离线,有人找我吗?
chenganlu
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:4016 威望:0 精华:0 注册:2009/11/14 19:13:00
  发帖心情 Post By:2013/10/3 22:17:00 [显示全部帖子]

是局域网环境?还是FTP服务器环境?

两个环境都需要能正常连接访问,
都需要在在线升级路径放置升级所需的4个文件。

我用Users组的计算机用户,也能正常自动升级。应该跟计算机用户是不是管理员权限没关系。

请上传出错提示的截图。

 回到顶部
帅哥哟,离线,有人找我吗?
chenganlu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:4016 威望:0 精华:0 注册:2009/11/14 19:13:00
  发帖心情 Post By:2013/10/4 16:28:00 [显示全部帖子]

我的4个升级所需文件刚好放置在FTP的根目录下,
如果你的文件位置不一样(不在根目录下),需要在定义ftp参数时设置。

Dim ftp As New FTPClient
ftp.Host = "127.0.0.1"
ftp.Account = "user"
ftp.Password = "123"
ftp.RootDir = "\升级文件所在目录"

之前未考虑到上述情况,所以遗漏了。
修改你的代码后,请再试一下。
[此贴子已经被作者于2013-10-4 16:39:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chenganlu
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:4016 威望:0 精华:0 注册:2009/11/14 19:13:00
  发帖心情 Post By:2013/10/11 21:38:00 [显示全部帖子]

1楼 更新v0.2.2-131011

 回到顶部
帅哥哟,离线,有人找我吗?
chenganlu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:4016 威望:0 精华:0 注册:2009/11/14 19:13:00
  发帖心情 Post By:2014/4/8 11:56:00 [显示全部帖子]

 发布前,需要更新“项目属性->5、在线升级,项目发布日期”与 update.txt 日期一致,不然会一直提示有新版本需要升级!

 回到顶部