以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 客户机根据服务机的变化升级如何设计呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7142) |
-- 作者:yankunhao -- 发布时间:2010/5/19 13:41:00 -- 客户机根据服务机的变化升级如何设计呢? 如何实现各客户机在打开系统时根据服务机的变化升级程序,升级完后再打开系统? |
-- 作者:baoxyang -- 发布时间:2010/5/19 13:44:00 -- 这个可以在远程服务器上建立一个ftp服务器才行,然后通过一个文档记录下版本信息,通过版本信息来升级。 |
-- 作者:yankunhao -- 发布时间:2010/5/19 14:02:00 -- 如果软件的使用环境在本局域网中,能给示例吗?例如用到那个事件,相关的语句。 |
-- 作者:狐狸爸爸 -- 发布时间:2010/5/19 14:33:00 -- 用一个表,记录升级日期和更新文件信息,本机记录最近一次升级的日期,比较两个日期,如果不同,更具更新文件信息,逐个下载文件。 有一个BeforeOpenProject事件,可以在这里设置代码。 不过你需要掌握SQL语句。 [此贴子已经被作者于2010-5-19 14:39:58编辑过]
|
-- 作者:baoxyang -- 发布时间:2010/5/19 15:06:00 -- 老大,在AfterOpenProject中不知是否可以进行升级应当可以吧? |
-- 作者:狐狸爸爸 -- 发布时间:2010/5/19 15:09:00 -- 你可以尝试一下 |
-- 作者:yankunhao -- 发布时间:2010/5/19 15:19:00 -- BeforeOpenProject事件发生时,数据表都还未生成啊。那又如何记录呢? |
-- 作者:yankunhao -- 发布时间:2010/5/19 15:24:00 -- 我是想这样的,如果服务器有文件更新,包括项目的主程序,那么客户机就自更新,将服务机的文件复制到客户机,免得每个客户机都要手动安装一次。 |
-- 作者:狐狸爸爸 -- 发布时间:2010/5/19 15:25:00 -- 所以要用SQL语句。 不过你还是在AfterOpenProject事件算了,不是因为表没有生成,而是因为执行BeforeOpenProject事件时数据源没有生成。 |
-- 作者:baoxyang -- 发布时间:2010/5/19 15:30:00 -- 但有一个问题,就是当远程复制时,突然网络掉线时,会造成客户机无法启动及再升级。为了避免此事件发生时,必须把复制的文件放在临时的目录下,进行判断文件是否与服务器文件个数相等时,才从临时目录下复制到当前的项目下。
dim file1,file2,file3,file4 as string Next messagebox.show("升级成功!需要重新启动项目!!") |