以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]找不到网络名 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129333) |
-- 作者:天一生水 -- 发布时间:2018/12/26 13:34:00 -- [求助]找不到网络名 采用HTTP站点升级方式: 1、升级文件的物理地址: D:/SPTD/update/update.txt
2、升级文件的web站点地址,端口80,不需要填,就可以在浏览器打开: //142.16.2.32/update/update.txt
3、打开项目时,提示“找不到网络名”,”下载失败”,afteropenoject代码: ...... ..... 这是什么原因?
|
-- 作者:有点蓝 -- 发布时间:2018/12/26 14:30:00 -- Dim str As String = FileSys.ReadAllText("http://142.16.2.32/update/update.txt") |
-- 作者:有点蓝 -- 发布时间:2018/12/26 14:32:00 -- FileSys.ReadAllText不支持直接读取网络资源,必须先下载http://www.foxtable.com/help/scr/1402.htm |
-- 作者:天一生水 -- 发布时间:2018/12/26 16:48:00 -- 谢谢版主! 以前采用共享文件夹升级时,只用执行一句代码:Syscmd.Project.Update() 现在采用HTTP方式,Syscmd.Project.Update()这句代码是不是也不支持直接读取网络资源? 在发现新版本,决定升级前,是不是要先把update1.zip、update2.zip从设置的HTTP升级路径先下载下来? 应该怎样升级呢? |
-- 作者:有点甜 -- 发布时间:2018/12/26 20:14:00 -- 只要你升级地址设置正确,那么 Syscmd.Project.Update 就可以正常升级。
比如,你的升级地址,要设置成 http://142.16.2.32/update/
|
-- 作者:天一生水 -- 发布时间:2018/12/27 11:17:00 -- 升级不成功,具体操作如下: 1、项目启动AfterOpenProject: If FileSys.FileExists(ProjectPath & "update.txt") Then \'如果版本信息文件存在 FileSys.DeleteFile(ProjectPath & "update.txt") \'则彻底删除之 End If try \'局域网 Network.DownloadFile("http://142.16.2.32/update/update.txt", ProjectPath & "update.txt") \'版本信息重新下载到本地 Dim str As String = FileSys.ReadAllText(ProjectPath & "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) End If catch ex As exception msgbox(ex.message) msgbox("下载失败") End try 2、升级按钮代码: Syscmd.Project.Update() 3、点击升级后下载升级update1.zip,提示升级完毕并重启: 4、但是重启后仍提示升级,经查,客户端的project下update.txt已更新,但PublishDate没变。 升级包的3个文件都是自动生成的,局域网的升级地址是:http://142.16.2.32/update,采用HTTP的web站点进行升级。 升级不成功的原因是什么呢? 谢谢!
|
-- 作者:有点甜 -- 发布时间:2018/12/27 11:31:00 --
代码没有问题。看看你project文件夹下有没有多个 xxx.foxex 文件,你前后两个项目的项目名称必须一样才行的。
|
-- 作者:天一生水 -- 发布时间:2018/12/27 11:42:00 -- 只有一个: |
-- 作者:有点甜 -- 发布时间:2018/12/27 11:51:00 -- 加入代码,看弹出什么
msgbox(sdate1) msgbox(sdate2) msgbox(cdate1) msgbox(cdate2) msgbox(projectFile) |
-- 作者:天一生水 -- 发布时间:2018/12/27 12:53:00 -- 我把这行弹出代码放入AfterOpenProject,并重新制作了升级文件。 msgbox(Sdate1 & vbcrlf & Sdate2 & vbcrlf & Cdate1 & vbcrlf & Cdate2 & vbcrlf & projectFile) 原先的客户端publish放在桌面上,点击升级,提示成功后重启,弹出: 弹出信息红色框中的客户端日期没有改变。 但是既然能弹出窗口(旧项目没设置弹出窗口),说明程序已经更新了。
为什么PublishDate(客户端发布日期)没有改变呢? [此贴子已经被作者于2018/12/27 13:00:07编辑过]
|