以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]找不到网络名  (http://www.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

 


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

 

3、打开项目时,提示“找不到网络名”,”下载失败”,afteropenoject代码:

......
Dim str As String = FileSys.ReadAllText("//142.16.2.32/update/update.txt")

.....

这是什么原因?

 

 


--  作者:有点蓝
--  发布时间: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,提示升级完毕并重启:

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

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

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



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
--  
只有一个:

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

--  作者:有点甜
--  发布时间: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放在桌面上,点击升级,提示成功后重启,弹出:

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

弹出信息红色框中的客户端日期没有改变。
但是既然能弹出窗口(旧项目没设置弹出窗口),说明程序已经更新了。
为什么PublishDate(客户端发布日期)没有改变呢?
[此贴子已经被作者于2018/12/27 13:00:07编辑过]