Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共18 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
yankunhao 发表于:2010/5/19 13:41:00

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

2楼
baoxyang 发表于:2010/5/19 13:44:00

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

3楼
yankunhao 发表于:2010/5/19 14:02:00

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

4楼
狐狸爸爸 发表于:2010/5/19 14:33:00

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

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

不过你需要掌握SQL语句。

[此贴子已经被作者于2010-5-19 14:39:58编辑过]
5楼
baoxyang 发表于:2010/5/19 15:06:00

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

6楼
狐狸爸爸 发表于:2010/5/19 15:09:00

你可以尝试一下

7楼
yankunhao 发表于:2010/5/19 15:19:00
BeforeOpenProject事件发生时,数据表都还未生成啊。那又如何记录呢?
8楼
yankunhao 发表于:2010/5/19 15:24:00
我是想这样的,如果服务器有文件更新,包括项目的主程序,那么客户机就自更新,将服务机的文件复制到客户机,免得每个客户机都要手动安装一次。
9楼
狐狸爸爸 发表于:2010/5/19 15:25:00

所以要用SQL语句。

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

10楼
baoxyang 发表于: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 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.