以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- http升级遇到的2次升级问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150910) |
-- 作者:sloyy -- 发布时间:2020/6/10 16:25:00 -- http升级遇到的2次升级问题 用狐表的http方式自动升级,一直很正常,但是现在发现自动升级会重复几次才能完成,我查了一下,似乎是升级文件超过了某个数值,大概是20-30M ,ie就会有下载文件的限制,就要分段下载,所以会有几次重复升级.有什么办法解决吗? |
-- 作者:有点蓝 -- 发布时间:2020/6/10 17:03:00 -- 没有这种事吧!和这个应该没有什么关系。 检查Syscmd.Project.Update是不是调用了多次。只能调用一次 升级代码所在的事件完整代码发上来看看。
|
-- 作者:sloyy -- 发布时间:2020/6/10 17:26:00 -- 自动升级代码用了很多年了,应该不会有问题吧? If TryConnectHost("www.baidu.com") = False Then \'如果无法解析 UpdatePath = "http://188.18.8.8/zfbt" End If If Syscmd.Project.Update(False,False) = False Then \'如果没有升级 Forms("主窗口").open basemainform.visible=False \'隐藏主界面 Forms("用户登录窗").open Else If filesys.FileExists(ProjectPath.Replace("project\\","") & "住房补贴.exe") = True \'MIS.exe是发布后项目的名称 Dim Proc As New Process Proc.File = ProjectPath.Replace("project\\","") & "住房补贴.exe" Proc.Start() Else Dim Proc As New Process Proc.File = ProjectFile Proc.Start() End If System.Diagnostics.Process.GetProcessesByName("foxtable")(0).Kill End If |
-- 作者:有点蓝 -- 发布时间:2020/6/10 17:39:00 -- 估计是这段代码的原因,如果去掉,手工重新打开程序还会不会有问题? If filesys.FileExists(ProjectPath.Replace("project\\","") & "住房补贴.exe") = True \'MIS.exe是发布后项目的名称 Dim Proc As New Process Proc.File = ProjectPath.Replace("project\\","") & "住房补贴.exe" Proc.Start() Else Dim Proc As New Process Proc.File = ProjectFile Proc.Start() End If System.Diagnostics.Process.GetProcessesByName("foxtable")(0).Kill 这个代码不管用了多少年,至少有2个问题 1、必须使用“可执行文件.exe”也就是上面的"住房补贴.exe"运行程序才能正常升级,如果使用foxtable.exe启动程序,可能会无法升级 2、这种用法会导致大版本更新的时候"住房补贴.exe"无法正常更新,同时理论上会和下面的kill有冲突的。 |