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


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

主题:在线升级问题

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


加好友 发短信
等级:幼狐 帖子:151 积分:1604 威望:0 精华:0 注册: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


加好友 发短信
等级:超级版主 帖子:106019 积分:539188 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/29 8:25:00 [只看该作者]

发布一个版本,把publish复制到其它目录。然后更改些东西,把升级日期改比上次大,重新发布,把升级包放入升级目录里。
然后使用上一次发布的复制到其它目录的版本测试升级。

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


加好友 发短信
等级:幼狐 帖子:151 积分:1604 威望:0 精华:0 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 9:31:00 [只看该作者]

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

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106019 积分:539188 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/29 9:36:00 [只看该作者]

update.txt内容和运行的程序里的project\bin\Version.txt内容发上来看看

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


加好友 发短信
等级:幼狐 帖子:151 积分:1604 威望:0 精华:0 注册: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  这样的

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106019 积分:539188 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/29 9:46:00 [只看该作者]

把publish目录改名为publish2,然后重新发布,在发布窗口把发布时间改为2022-11-28 01:00,重新发布,把新发布的升级文件上传到升级路径目录里。然后运行publish2里的程序

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


加好友 发短信
等级:幼狐 帖子:151 积分:1604 威望:0 精华:0 注册:2019/7/30 13:13:00
  发帖心情 Post By:2022/11/29 10:14:00 [只看该作者]

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

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106019 积分:539188 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/29 10:19:00 [只看该作者]

点了确认升级 ----- 说明已经判断有升级了,才会弹出确认升级 。

就直接跳出来这么一个界面 ----------- 升级完毕当然就会自动进入程序啊

升级完毕后再执行Syscmd.Project.Update()肯定是最新版本了啊

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


加好友 发短信
等级:幼狐 帖子:151 积分:1604 威望:0 精华:0 注册: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()始终判断是已经最新版本了

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106019 积分:539188 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/29 11:05:00 [只看该作者]

是使用“发布的exe”启动程序?还是以Foxtable.exe启动程序的?

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