Foxtable(狐表)用户栏目专家坐堂 → [求助]项目在线升级问题(已解决)


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

主题:[求助]项目在线升级问题(已解决)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/12 20:56:00 [显示全部帖子]

 你的升级包打包不正确。

 

1、看update1和update2项目的项目发布日期是否一致

 

2、看txt的设置的日期是否正确日期要正确和一致


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/12 21:42:00 [显示全部帖子]

 回复楼上,用的方法测试了一下,没有发现会更新两次。

 

 再有,你的代码直接这样写

 

If FileSys.FileExists("\\hhjy-pc\gx\update.txt") Then '判断共享文件夹是否连接
    Syscmd.Project.Update(False,False) '静默升级
        Forms("用户登录").open()
        '未输入用户名退出
        If _UserName = "" Then
            Syscmd.Project.Exit()
            Return
        End If
        '其他代码
Else
    Messagebox.Show("未连接内网共享文件夹","提示")
    Syscmd.Project.Exit() '退出系统
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/12 22:24:00 [显示全部帖子]

 呃,加QQ远程看一下 2450314695


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/13 9:20:00 [显示全部帖子]

 看8楼,绝对是你打包程序的时候弄错了。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/13 9:49:00 [显示全部帖子]

 程序包弄错了,测试没有问题。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/13 11:57:00 [显示全部帖子]

 汗.....原以为是bug,后来发觉不是bug,但这样不合理。

 

 原因:

 

楼主在beforecloseproject写了这句代码Syscmd.Project.Save()
于是,更新的时候,最后会触发beforecloseproject事件,导致旧文件被重新保存了,于是更新永远不成功。


 

 个人认为,既然是运行了update的代码,更新成功以后,就不应该再去触发用户的beforecloseproject事件,不然会有很多问题的;

 

 再有,更新成功以后,要么直接把程序关闭,要么给用户返回信息是否更新成功,给用户去处理后续的事情。

[此贴子已经被作者于2014-8-13 11:58:38编辑过]

 回到顶部