Foxtable(狐表)用户栏目专家坐堂 → [求助]关于远程更新界面和更新方法的问题


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

主题:[求助]关于远程更新界面和更新方法的问题

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
[求助]关于远程更新界面和更新方法的问题  发帖心情 Post By:2015/11/30 14:32:00 [显示全部帖子]

[求助]关于远程更新界面和更新方法的问题

问题1、 远程更新界面不友好的问题

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

界面只有一个单一的下载窗口 下载目录文件+进度条 ,往往看不到进度条有明显进度,就提示更新完毕,重启窗口

如果客户网络或服务器出现异常,就会一直定格在这个界面

能否自定义设计一个更新窗口,含进度条显示百分比,并在网络或服务器出现异常的时候,有提示?

 

问题2、如何强制进行更新

如果弹出提示窗口,客户点击取消或cancel 按钮,就会直接进行后面的操作,如果对这个点击取消的操作做个判断,如果点击取消,则退出程序,否则只有更新完毕后,才能继续后面的窗口打开,如果选择静默升级,好像没有窗口提示,客户以为点击没有反应,其实程序却在进行后台升级操作。


[此贴子已经被作者于2015/11/30 14:33:19编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)1、?实时滚动条你做不了,你...  发帖心情 Post By:2015/11/30 16:36:00 [显示全部帖子]

自己设计的话,有个疑问,就是关于这个下载目录的问题,我看自动升级,update1是下载到软件安装目录的project文件夹下,是不是发布的时候,如果文件版本号有变动,才会下载update2的文件?这个压缩包文件下载到那个目录下?是不是自动覆盖?

 

 

这个远程升级的问题,我看BBS好多人提问,能否将这一块进行优化,提高设计性?默认这个下载窗口界面还真是.....难看呀图片点击可在新窗口打开查看

 

 

 类似于下面这种升级效果

 


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

图片点击可在新窗口打开查看此主题相关图片如下:qq截图download2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/11/30 16:38:10编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
  发帖心情 Post By:2015/11/30 16:41:00 [显示全部帖子]

刚刚用户在进行远程更新的时候,出现个新问题,无法正常更新,进度条半天不动,我远程在对方电脑上操作,在IE上登录远程服务器,在显示出的三个更新文件上面点击目标另存为,提示服务器拒绝登录,但是我自己这边IE操作下载一切正常,不知这是什么情况?!

 

点击取消升级后,提示如下错误信息

.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2015.11.2.1
错误所在事件:项目,AfterOpenProject
详细错误信息:
System.Security.Cryptography.CryptographicException: 不正确的数据。

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.Utils._DecryptData(SafeKeyHandle hKey, Byte[] data, Int32 ib, Int32 cb, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode PaddingMode, Boolean fDone)
   at System.Security.Cryptography.CryptoAPITransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
   at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
   at Foxtable.O  Oo o0.o_0O__00(String A_0)
   at Foxtable.oO  0 00.DecryptText(String Text, String Key, String IV)
   at UserCode.Ar3scHW6xvlRaEDjE()

 

手动下载服务器更新文件,然后发个客户,将其手动更新后,软件倒是可以正常使用了!

[此贴子已经被作者于2015/11/30 16:41:55编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)你搭建的是ftp服务器?不要用匿名用户...  发帖心情 Post By:2015/12/11 13:53:00 [显示全部帖子]

在云服务器上使用的FileZilla,然后设置了用户名密码和对应的文件物理路径,项目中,也对应设置了账号密码的!

但是有些能正常下载,有些就无法下载!是不是与客户的机器设置也有关系? 


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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)不能下载的电脑,直接在浏览器里数据...  发帖心情 Post By:2016/1/5 9:20:00 [显示全部帖子]

直接在浏览器输入路径的话,可以手动下载;使用下面的地址也能正常下载。
但是客户使用的时候,就是一直停在下载界面,进度条始终没有反应,很多就直接点击了取消,促使软件一直服务更新。
能否做一个类似的可视化的案例,这个自带的下载进度条真的不友好,13M的文件,1M/S的网速下载怎么也要个13秒左右吧。但是进度条压根就不动。
您上面建议的另辟蹊径的方式有个疑问,用系统自带的升级命令,会对比文件,然后进行update1或update2的选择性下载,自动覆盖升级,如果手动的话,我的文件在ftp服务器上,
下载到绝对路径还是设置相对路径,然后又如何覆盖文件呢?这个方法不太懂,望指教


另外,FTP设置的远程下载,端口是不是只能设置为21????
[此贴子已经被作者于2016/1/5 9:21:56编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)1、路径上可以指定端口号的 ftp://zh...  发帖心情 Post By:2016/1/5 16:25:00 [显示全部帖子]

1、刚刚又进行了测试
Network.DownloadFile("ftp://ftp_XXX:ftp-XXX@XXXXXXXX/Update/Update.txt","D:\data\Update.txt","" ,"" ,False, 100000, True)
发现将False 改为True, 弹出下载进度窗口,但下载速度为0,360检测的网速下行速度也在0.02左右波动
将其改回后后,360检测下载速度变成了400KB/S,文件成功下载到指定目录,这是为何?

2、http是要用网站域名上传更新文件,然后进行下载吗?能否具体说说如何用http

3、 端口号之前改为其他,比如2121 ,就一直无法正常下载,将其改为21就正常了。下载ftp地址也指定了对应的端口号,但就是迟迟下载不下来文件。

4、设想:创建一个有进度条的美化窗口,然后用上面的代码将文件下载到某个位置,但是软件还是按照系统更新代码来自动更新,只是不再显示默认的下载进度窗口了,再次打开窗口后,将原先下载好的文件删除,完成更新工作.

不过这个设计的窗口是放在Befre0penpr0ject还是放在  after0penpr0ject   这个方法应该同您说得方式一样把?!
[此贴子已经被作者于2016/1/5 16:26:37编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)1、可能ftp不支持,必须默认下载;...  发帖心情 Post By:2016/1/5 16:49:00 [显示全部帖子]

1、只能静默升级?
我在after0penpr0ject 写入代码

If Sys-c-md.Pr0ject.Update(False , False) = False Then '如果没有升级
   
Forms("窗口1").open()
   
'后续其它代码
End If 


如果有更新提示用户,那如何让其不显示下载进度窗口呢?

2、用http 需要搭建网站,我采购了一个云服务器,但不知道如何搭建网站,并上传更新文件供软件更新使用,能说说方法嘛?

刚刚一直在看DW网页设计,还在学习中。不过在云服务器上搭建自己的网站,现在还不太会。如果用静默下载,那客户点开程序,选择更新后,什么也不弹出,用户肯定以为出了问题,这就不得先设计好“虚拟的下载进度窗口”,防止客户重复启动软件。

是不是选择静默升级,不显示下载进度,必须要用Netw0rk.Downl0adFile(address ,destinati0nFileName ,user Name ,password ,sh0wUI ,connecti0nTimeout ,overwrite)
然后,进行解压覆盖?
[此贴子已经被作者于2016/1/5 16:49:57编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)1、如果你要foxtable的,就在用户点击...  发帖心情 Post By:2016/1/5 17:05:00 [显示全部帖子]


回复1、 没太明白,是不是升级代码后面设置个 else  也相当于

If Sys-cm-d.Pr0ject.Update(False , False) True Then '如果升级
    '显示自定的下载窗口,还是指显示系统自带的进度窗口?
End
If


如果不上上面的意思,就是说如果不显示进度条,我就得自己设计,然后用Network.D0wnloadFile?

[此贴子已经被作者于2016/1/5 17:05:40编辑过]

 回到顶部