Foxtable(狐表)用户栏目专家坐堂 → 客户机根据服务机的变化升级如何设计呢?


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

主题:客户机根据服务机的变化升级如何设计呢?

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
客户机根据服务机的变化升级如何设计呢?  发帖心情 Post By:2010/5/19 13:41:00 [只看该作者]

如何实现各客户机在打开系统时根据服务机的变化升级程序,升级完后再打开系统?


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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/5/19 13:44:00 [只看该作者]

这个可以在远程服务器上建立一个ftp服务器才行,然后通过一个文档记录下版本信息,通过版本信息来升级。


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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/5/19 14:02:00 [只看该作者]

如果软件的使用环境在本局域网中,能给示例吗?例如用到那个事件,相关的语句。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/19 14:33:00 [只看该作者]

用一个表,记录升级日期和更新文件信息,本机记录最近一次升级的日期,比较两个日期,如果不同,更具更新文件信息,逐个下载文件。

有一个BeforeOpenProject事件,可以在这里设置代码。

不过你需要掌握SQL语句。

[此贴子已经被作者于2010-5-19 14:39:58编辑过]

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/5/19 15:06:00 [只看该作者]

老大,在AfterOpenProject中不知是否可以进行升级应当可以吧?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/19 15:09:00 [只看该作者]

你可以尝试一下


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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/5/19 15:19:00 [只看该作者]

BeforeOpenProject事件发生时,数据表都还未生成啊。那又如何记录呢?

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


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/5/19 15:24:00 [只看该作者]

我是想这样的,如果服务器有文件更新,包括项目的主程序,那么客户机就自更新,将服务机的文件复制到客户机,免得每个客户机都要手动安装一次。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/5/19 15:25:00 [只看该作者]

所以要用SQL语句。

不过你还是在AfterOpenProject事件算了,不是因为表没有生成,而是因为执行BeforeOpenProject事件时数据源没有生成。


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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/5/19 15:30:00 [只看该作者]

但有一个问题,就是当远程复制时,突然网络掉线时,会造成客户机无法启动及再升级。为了避免此事件发生时,必须把复制的文件放在临时的目录下,进行判断文件是否与服务器文件个数相等时,才从临时目录下复制到当前的项目下。

 

dim file1,file2,file3,file4 as string
Dim path as string = "C:\data\" 'ApplicationPath
Dim lst As WinForm.ListBox
Lst = e.form.Controls("ListBox1")
if lst.Items.Count > 0 then
  For k as integer = 0 to lst.Items.Count -1
           lst.selectedIndex = k
           file1 = lst.Items(k)        
           file2 = "ftp://" & s2 & ":" & s3 & "@" & s1 & file1
           file3 = path & file1
           file4 = file3.Replace("/升级","")
           file4 = file4.trim()
           Network.downloadfile(file2,file4,"","",true,100000,true)     ‘请问老大出现复制异常时如何判断?

  Next
end if

messagebox.show("升级成功!需要重新启动项目!!")
Syscmd.Project.Exit(False)


 回到顶部
总数 18 1 2 下一页