以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]小升级update1.zip不更新splash  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80812)

--  作者:13865161910
--  发布时间:2016/2/2 14:07:00
--  [求助]小升级update1.zip不更新splash
如题,由于ftp不显示升级进度,已改为http进行升级,
但发现小升级后,splash不变,大升级只有系统版本变更才会使用,除非手动修改update.txt 中后一段的日期

红袍大大说在afteropenproject加入
 FileSys.CopyFile(ProjectPath & "splash.jpg", ApplicationPath & "splash.jpg", True)
此段代码是这样设置吗?
If Syscmd.Project.Update(False,True) = False Then \'如果没有升级
   Forms("窗口1").Open
Else
   FileSys.CopyFile(ProjectPath & "splash.jpg", ApplicationPath & "splash.jpg", True)
End If

splash.jpg 文件放在哪里然后进行发布,实现小升级启动画面变更?

另外,请教一个问题,升级路径现在改为 http://***.***.***.***:端口号
如何在IIS中设置账号密码,类似于FTP的设置方法,通过账号密码进行访问?


--  作者:大红袍
--  发布时间:2016/2/2 14:17:00
--  

直接放在update1.zip里面即可。

 

直接这样写,但是需要第二次启动才能用新的封面

 

If Syscmd.Project.Update(False,True) = False Then \'如果没有升级

   FileSys.CopyFile(ProjectPath & "splash.jpg", ApplicationPath & "splash.jpg", True)
   Forms("窗口1").Open
End If

[此贴子已经被作者于2016/2/2 14:17:26编辑过]

--  作者:13865161910
--  发布时间:2016/2/2 14:36:00
--  回复:(大红袍)直接放在update1.zip里面即可。&nb...
这个实际上是通过不升级,让后将splash复制到对应目录,实现第二次启动使用新的splash。
但是有两个疑问:
1、spalsh.jpg是直接覆盖源文件吗?
2、如果将splash放在update1.zip,就需要在每次自动生成升级文件包后,附加操作,将新的splash放到update1.zip中


解决这个没有其他方法了吗?


3、另,如何在IIS网站中设置http的身份验证?!

4、发布程序的时候,弹出项目发布失败,错误信息:文件”C:\\***\\***\\Publish"正由另一进程使用,因此该进程无法访问该文件,可是我看了后台进程没有类似的文件,该如何排查,只有注销后发布才会正常!
[此贴子已经被作者于2016/2/2 14:38:44编辑过]

--  作者:大红袍
--  发布时间:2016/2/2 14:54:00
--  

1、覆盖原文件;

 

2、发布那里,你不是可以直接添加附件的么?

 

3、http无法做到身份验证的。路径你设置得复制一些不就行了?

 

4、如果你publish里面的exe启动了,自然不能覆盖掉重新发布。你把程序关闭了才行的。


--  作者:13865161910
--  发布时间:2016/2/2 14:59:00
--  回复:(大红袍)1、覆盖原文件; 2、发布那...
额,对哦,忘记发布前添加文件的功能了
我刚设置了身份验证,我在浏览器登录的时候,输入账号密码就能访问了,也就是禁用匿名身份验证
但是在设置升级路径时就郁闷了,不能像ftp的方法一样设置成http://账号:密码@ip地址:端口  吗?

--  作者:大红袍
--  发布时间:2016/2/2 15:03:00
--  
不可以。
--  作者:13865161910
--  发布时间:2016/2/2 15:35:00
--  回复:(大红袍)不可以。
刚刚发现个问题,如果发布的程序是2016-02-02 12:00:00
但显示的PublishDate 却为2016-02-02 12:02:00  这在做时间比对的时候,会容易出现误判!
If ftp1.Download("\\update.txt","D:\\Version.txt") = True Then\'如果下载升级日期文件成功
Dim ud() As String = FileSys.ReadAllText("D:\\Version.txt").Split("|")
Dim Sdate1 As Date = Cdate(ud(0)) \'服务器update.txt发布日期
Dim Sdate2 As Date = Cdate(ud(1)) \'服务器Version.txt发布日期
Dim Cdate1 As Date = Format(PublishDate,"yyyy/MM/dd hh:MM") \'客户端发布日期
Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\\Bin\\Version.txt") \'客户端Version.txt发布日期
e.Form.Controls("Label2").text = Sdate1
e.Form.Controls("Label3").text = Sdate2
e.Form.Controls("Label4").text = Cdate1
e.Form.Controls("Label5").text = Cdate2
If Sdate1 > Cdate1 Then \'如果服务器版本发布日期大于客户端发布日期
e.Form.Controls("NEW").Visible = True
MessageBox.Show("有新版本客户端可供下载,请点击[立即下载]","提示" )

Else
e.Form.Controls("NEW").Visible = False
End If

[此贴子已经被作者于2016/2/2 15:36:51编辑过]

--  作者:大红袍
--  发布时间:2016/2/2 15:39:00
--  

我msgbox看了一下,没问题的

 

msgbox(PublishDate)

 

应该是转换的时候错了,改成

 

Dim Cdate1 As Date = Format(PublishDate,"yyyy/MM/dd HH:mm") \'客户端发布日期


--  作者:13865161910
--  发布时间:2016/2/3 12:47:00
--  回复:(大红袍)我msgbox看了一下,没问题的 ...
真奇怪,我将hh:MM改为HH:mm,保存后,再打开代码编辑器,竟然又还原了 O.O 
好神奇的说

--  作者:13865161910
--  发布时间:2016/2/3 12:48:00
--  
额,好了,估计出现了点小小的BUG,关闭窗口,在重新开编辑代码,问题解决了
感谢大红袍版主