Foxtable(狐表)用户栏目专家坐堂 → http升级遇到的2次升级问题


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

主题:http升级遇到的2次升级问题

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


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
http升级遇到的2次升级问题  发帖心情 Post By:2020/6/10 16:25:00 [只看该作者]

用狐表的http方式自动升级,一直很正常,但是现在发现自动升级会重复几次才能完成,我查了一下,似乎是升级文件超过了某个数值,大概是20-30M ,ie就会有下载文件的限制,就要分段下载,所以会有几次重复升级.有什么办法解决吗?

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/10 17:03:00 [只看该作者]

没有这种事吧!和这个应该没有什么关系。

检查Syscmd.Project.Update是不是调用了多次。只能调用一次
升级代码所在的事件完整代码发上来看看。

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


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By: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

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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有冲突的。


 回到顶部