Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
如何实现各客户机在打开系统时根据服务机的变化升级程序,升级完后再打开系统?
这个可以在远程服务器上建立一个ftp服务器才行,然后通过一个文档记录下版本信息,通过版本信息来升级。
如果软件的使用环境在本局域网中,能给示例吗?例如用到那个事件,相关的语句。
用一个表,记录升级日期和更新文件信息,本机记录最近一次升级的日期,比较两个日期,如果不同,更具更新文件信息,逐个下载文件。
有一个BeforeOpenProject事件,可以在这里设置代码。
不过你需要掌握SQL语句。
老大,在AfterOpenProject中不知是否可以进行升级应当可以吧?
你可以尝试一下
所以要用SQL语句。
不过你还是在AfterOpenProject事件算了,不是因为表没有生成,而是因为执行BeforeOpenProject事件时数据源没有生成。
但有一个问题,就是当远程复制时,突然网络掉线时,会造成客户机无法启动及再升级。为了避免此事件发生时,必须把复制的文件放在临时的目录下,进行判断文件是否与服务器文件个数相等时,才从临时目录下复制到当前的项目下。
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)