Foxtable(狐表)用户栏目专家坐堂 → 在线升级问题


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

主题:在线升级问题

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
在线升级问题  发帖心情 Post By:2022/11/28 23:11:00 [显示全部帖子]

设置了在线升级,在线升级路径为IP地址,如  http://99.99.99.99/123/ ,update.text 的时间新于现用发布的版本,用PublishDate参数对update.text进行判断,也是确定需要更新的,可是始终无法正常进行更新,单独使用按钮执行    Syscmd.Project.Update()  ,就直接显示已经是最新版本,请问版主,这个是怎么回事?

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 9:31:00 [显示全部帖子]

这个方法试过了,不论是放到按钮,还是放到afteropenproject  都判断不到要升级

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 9:43:00 [显示全部帖子]

project\bin\Version.txt   里面怎么就只有一个  2022-8-18   这个不是软件的版本号么
tex里面是  2022-11-28 00:00|2022-8-18  这样的

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 10:14:00 [显示全部帖子]

还是不行,点了确认升级,就直接跳出来这么一个界面
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
Syscmd.Project.Update()判断还是新版本

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 10:31:00 [显示全部帖子]

可是再次打开还是一样要升级,参考的代码是这样的:

If User.Type <> UserTypeEnum.Developer Then'根据是否开发者,再检查升级
    Dim hc As New HttpClient(UpdatePath & "/update.txt")
    hc.SkipError = True
    Dim str As String = hc.GetData()
    If str.Contains("|") Then
        Dim ary() As String = str.split("|")
        Dim d As Date = ary(0)
        Dim dv As Date = ary(1)
        If PublishDate < d Then
            If MessageBox.show("发现新版本{" & d & "},是否升级?", "在线升级提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                If dv > ApplicationVertion Then
                    MessageBox.show("本次升级内容较多,请耐心等待" & vbcrlf & vbcrlf & "升级后需要【手动启动软件】!", "升级重要提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                End If
                If Syscmd.Project.Update(False, False, True) = True Then
                    If dv <= ApplicationVertion Then '小版本更新,可以用自动重启,大版本绝对不能用,会无限升级!
                        Application.ReStart '升级成功后重启项目
                    End If
                End If
                Return 
            Else
                MessageBox.show("旧版程序运行过程中,可能会有报错,请尽快升级", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            End If
        Else '无需升级,正常启动
        End If
    End If 
End If

我没有想明白的是,为什么对txt拆分以后对字符判断是需要升级的,但是Syscmd.Project.Update()始终判断是已经最新版本了

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 11:21:00 [显示全部帖子]

是发布以后的程序,对 update.txt 拆分以后对字符判断是需要升级,但是始终就是升不了级,每次启动都会弹出 MessageBox.show("发现新版本{" & d & "},是否升级?", "在线升级提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then ,但是就是无法升级。我在发布的窗口里面增加了 “Syscmd.Project.Update()” 的按钮,点了也是提示“已经最新版本”,可是明明放在升级路径目录里面的文件时间是>正在使用的程序的时间。


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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 11:35:00 [显示全部帖子]

确定是发布以后的启动程序,Foxtable.exe启动都是以“开发者”登录的,本身也不执行升级判断。
现在的问题主要是能够确定程序应该升级,但是 Syscmd.Project.Update  始终判断已经是最新版本,根本就不执行升级过程。搞不懂哪里错了哦,我还换了台电脑发布都一样,按说这个设定又不会受其他地方的影响,我的升级路径也是绝对IP,用浏览器也可以打开txt,可以下载zip文件。

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 12:38:00 [显示全部帖子]

这个时间判断上应该没有问题吧

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 12:39:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:1669696610386.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:161 积分:1829 威望:0 精华:1 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 14:01:00 [显示全部帖子]

我新建一个项目试试吧,晕了

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