以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [分享]真正的全自动升级代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=38980) |
-- 作者:shenyl0211 -- 发布时间:2013/8/12 17:16:00 -- [分享]真正的全自动升级代码 特点: 1、升级文件所在的文件夹和升级文件的文件名都不受任何限制。 2、每天可以升级N次。
要求: 1、在项目属性中设置项目发布日期精确到分钟。 如:2014-09-11 19:10发布时填2014-09-11 19:30(必须大于发布的真实时间,别人才能及时更新) 2、升级时不能关闭弹出的命令窗口。 也就是说,升级完成后,《升级文件》文件夹不能有文件(否则说明命令窗口被人为强行关闭了,必须将剩余文件手工移到《数据文件》文件夹中)。
代码:
1、用到的全局代码 Public IP1 As String = "10.10.10.10" \'内网 Public IP2 As String = "123.123.123.123" \'外网 Public IPa As String = IP1 \'采用值 Public ftpAccount As String = "ABC" \'设置ftp登录用户名 Public ftppassword As String = "1234567890" \'设置ftp登录密码 Public Exit0 As String = "0" \'是否正常退出标识.0-非正常退出,指点屏幕右上角的X退出 Public pname As String = "考勤管理系统" \'项目名称,一个项目可以有多个数据源(可以切换) Public ename As String = "考勤管理.exe" \'管理系统运行文件名 Public pfile As String = pname & ".foxdb" \'开发时的项目文件名 Public dpath As String = "d:\\" & pname & "\\设计资料\\" \'开发时的项目文件位置 Public ppath As String = "d:\\" & pname & "\\设计资料\\publish\\" \'项目发布后的foxtable文件位置 Public rpath As String = "d:\\" & pname & "\\数据文件\\project" \'运行时项目文件位置 Public upath As String = "\\项目管理系统\\数据文件\\" \'服务器上的项目文件路径和升级路径 Public npath As String = "d:\\" & pname & "\\升级文件\\" \'客户端的foxtable最新文件保存路径 Public datafile As String = pname & ".zip" \'包含最新升级数据的文件名
2、AfterOpenProject事件代码 If ProjectFile <> dpath & pfile Then \'这是项目开发文件名 ftp1.Account = ftpAccount \'设置ftp登录用户名 \'注:s3中含开发路径下的version.txt
3、“发布上传”按钮代码 \'通用-压缩项目,备份项目,发布项目,上传升级文件 [此贴子已经被作者于2015/4/14 13:46:37编辑过]
|
-- 作者:Bin -- 发布时间:2013/8/12 17:18:00 -- 好东西,顶一下. |
-- 作者:狐狸爸爸 -- 发布时间:2013/8/12 17:32:00 -- 呵呵,都自己搞定了,这方面不用我动手了。
|
-- 作者:hudicaca -- 发布时间:2013/9/13 11:57:00 -- 我的是连局域网的电脑..直接访问ip地址的..不是ftp服务器...要怎么写啊...求教...楼主好人 |
-- 作者:zyqzyy -- 发布时间:2013/9/14 0:45:00 -- 很厉害,顶!要是有例子就完美了! |
-- 作者:shenyl0211 -- 发布时间:2013/9/15 10:53:00 -- 以下是引用hudicaca在2013-9-13 11:57:00的发言:
我的是连局域网的电脑..直接访问ip地址的..不是ftp服务器...要怎么写啊...求教...楼主好人 1、局域网内要共享数据,则需要服务器。 2、你的数据库应该在服务器上。 3、你的升级文件在服务器上,网管肯定给你一个端口对应升级文件夹。 4、服务器有内网的IP地址,区别于其它电脑的IP地址。 所以,代码通用。 BeforeConnectOuterDataSource事件代码: \'通用-根据是否内部数据源以及内网和外网登录时服务器地址IP的不同,选择不同的连接字符串 End If [此贴子已经被作者于2013-9-15 10:54:40编辑过]
|
-- 作者:pc005637 -- 发布时间:2013/9/16 21:19:00 -- 支持分享.很好的思路. 批处理文件的写法,值得菜鸟们参考. 个人认为程序的目录如果用 ProjectPath 来作动态处理,更加好. 谢谢.以后客户端的升级不用愁了.
|
-- 作者:Siluy_kl1017 -- 发布时间:2013/9/20 21:55:00 -- 狐表自身有升级的情况下,如何自动升级应用系统? 有这个扩展就太好了! |
-- 作者:黄训良 -- 发布时间:2014/9/11 21:48:00 -- 顶,去测试! |
-- 作者:方丈 -- 发布时间:2014/9/11 23:34:00 -- 顶,去测试! |