以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]项目自动升级遇到的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124057) |
-- 作者:jyh7081 -- 发布时间:2018/8/29 18:32:00 -- [求助]项目自动升级遇到的问题 1、升级提示:Cannot overwrite hidden file. 我按照论坛的方法去找隐藏文件,在Images,Reports等文件夹下都没有发现隐藏文件; 但在Attachments\\下找到个临时文件 ~WRL1791.tmp,删除后,重新制作升级包后不再报错。 2、升级后,重启,又提示有更新.... AfterOpenProject升级代码如下: try Dim str As String = FileSys.ReadAllText("//xx.xx.xxx.xx/事务管理平台/update/update.txt") Dim ud() As String = str.Split("|") \'获取文件内容 Dim Sdate1 As Date = Cdate(ud(0)) \'服务器update.txt发布日期 Dim Sdate2 As Date = Cdate(ud(1)) \'服务器Version.txt发布日期 Dim Cdate1 As Date = PublishDate \'客户端发布日期 Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\\Bin\\Version.txt") \'客户端Version.txt发布日期 If Sdate2 > Cdate2 OrElse Sdate1 > Cdate1 Then PopMessage("有新版本,请在系统维护更新!","提示", PopIconEnum.ok, 5) \'Syscmd.Project.Update(False,False) \'静默升级代码 End If catch ex As exception msgbox(ex.message) msgbox("下载失败") End try 3、然后在项目中新建一个窗口,用来显示升级信息: Dim str As String = FileSys.ReadAllText("//xx.xx.xxx.xx/事务管理平台/update/update.txt") Dim ud() As String = str.Split("|") \'获取文件内容 Dim Sdate1 As Date = Cdate(ud(0)) \'服务器update.txt发布日期 Dim Sdate2 As Date = Cdate(ud(1)) \'服务器Version.txt发布日期 Dim Cdate1 As Date = PublishDate \'客户端发布日期 Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\\Bin\\Version.txt") \'客户端Version.txt发布日期 \'msgbox(Sdate1 & " " & Sdate2 & " " & Cdate1 & " " & Cdate2) e.Form.Controls("Label6").text = Sdate1 & vbcrlf & Sdate2 e.Form.Controls("Label7").text = Cdate1 & vbcrlf & Cdate2 4、重新制作升级包,升级后,重启。 情况如下: a.提示有更新; b.程序实际已更新,因为新建的窗口已经在项目中出现; c.但是客户端发布日期Cdate1没有更正过来,见下图,因此仍提示升级。 以上情况是哪里原因?请老师指教! 谢谢! [此贴子已经被作者于2018/8/29 18:41:58编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/8/29 18:48:00 -- 2、这个代码执行了没有Syscmd.Project.Update?你不是注释掉了么?升级后提示升级成功了叫你重新启动了没有?
3、你升级包是自动生成的吗?update.txt你有没有手动修改过值?
如果升级成功后,PublishDate的值没有更改,看看你是否修改了项目的文件名,比如本来 test.foxex改成了aabbcc.foxex
|
-- 作者:jyh7081 -- 发布时间:2018/8/29 18:57:00 -- 1、是注释掉了,启动代码仅提示是否有更新。 另外有个按钮进行手动升级,按钮代码:Syscmd.Project.Update()
提示升级成功,也提示重启项目了;而且项目确实更新了; [此贴子已经被作者于2018/8/29 21:02:37编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/8/29 21:14:00 -- 去看你的project文件夹下的文件,把后缀名显示出来,看是不是有两个 .foxex 的文件,一个是旧的项目,一个是新的项目。项目名称不能换的,要和以前的一样。 |
-- 作者:jyh7081 -- 发布时间:2018/8/29 21:27:00 -- 只有一个。 |
-- 作者:有点甜 -- 发布时间:2018/8/29 21:46:00 -- 1、弹出 msgbox(UpdatePath) 看看升级路径是什么。
2、有没有可能你升级路径弄错了?(比如旧项目的升级路径是xxx,但你把升级包弄到了yyy)
3、不要直接测试旧项目了,你新做一个项目测试功能吧,把需要的信息全部弹出看一下。 |