以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  跨版本升级!有新版本时通过自动升级.exe来下载和更新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=49714)

--  作者:ysq128
--  发布时间:2014/4/23 9:06:00
--  跨版本升级!有新版本时通过自动升级.exe来下载和更新
跨版本升级是一个麻烦的事情。我也看过论坛其它朋友的处理方式也不太适合我。所以就自己处理了一个:
我说说我的方式,可以供大家参考!
升级配置.ini
这个文件的内容由狐表完成
我是将升级地址和NewVersion放入的数据库。每次登陆的时候检查!
[system]
UpdatePath=http://dldir1.qq.com/qqfile/qq/QQ5.3/10702/QQ5.3.exe
Version=2014-4-20
NewVersion=2014-4-21
Start=我的程序.exe

狐表检查新版本后。写入INI配置文件,并启动自动升级.exe。
_UpdatePath="http://dldir1.qq.com/qqfile/qq/QQ5.3/10702/QQ5.3.exe"
Dim Version As String = FileSys.ReadAllText(ApplicationPath & "\\Catch\\Version.txt") \'客户端Version.txt
If _UpdatePath<>"" Then
    If Version <> _NewVersion Then
        Dim Ini As String = "[system]" & vbcrlf & "UpdatePath=" &  _UpdatePath & vbcrlf & "Version=" &  Version  &  vbcrlf & "NewVersion=" &  _NewVersion &  vbcrlf & "Start=我的程序.exe"
        FileSys.WriteAllText(ApplicationPath & "升级配置.INI", Ini, False, Encoding.Default)
        Dim Result As DialogResult
        Result = MessageBox.Show("系统发现有新版本!建议您升级后再使用!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            Dim Proc As New Process
            Proc.File =  ApplicationPath & "自动升级.exe"
            Proc.Start
         Syscmd.Project.Exit(False)
        End If
    End If
End If


自动升级.exe的源代码:{用的aau软件编写的}
import fsys;
import fsys.unrar;
import fsys.ini;
import process;
import inet.downBox;
ini=fsys.ini("/升级配置.ini")
system = ini.getSection("system")
//如果版本不一致则下载升级文件
if(system.Version!=system.NewVersion){
  inet.downBox(winform,"检查新的软件版本...",1).download(system.UpdatePath,"/update.rar") //最后一个参数autoClosed
fsys.unrar.extract("/update.rar","/")
}
process(system.Start)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动升级.rar

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


以下文件是应11楼的需求。解压的是ZIP文件。以及更新后删除配置文件。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动升级zip.rar





[此贴子已经被作者于2014-4-23 23:12:46编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/4/23 9:09:00
--  

呵呵,百花齐放啊。

 

谢楼主。

 

图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2014/4/23 9:11:00
--  
顶一下.
--  作者:有点甜
--  发布时间:2014/4/23 9:54:00
--  
 顶,收藏。
--  作者:有点甜
--  发布时间:2014/4/23 9:55:00
--  
以下是引用狐狸爸爸在2014-4-23 9:09:00的发言:

呵呵,百花齐放啊。

 

谢楼主。

 

图片点击可在新窗口打开查看

 

是不是要做一下跨版本了?图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2014/4/23 9:57:00
--  
以下是引用有点甜在2014-4-23 9:55:00的发言:

 

是不是要做一下跨版本了?

 

让大家继续百花齐放一段时间再说。


--  作者:blackzhu
--  发布时间:2014/4/23 10:03:00
--  
与时俱进
--  作者:逛逛
--  发布时间:2014/4/23 10:40:00
--  

收藏,备用。

 

谢谢!


--  作者:ido
--  发布时间:2014/4/23 12:02:00
--  
学习~~~~~~~~
--  作者:pc005637
--  发布时间:2014/4/23 20:52:00
--  
楼主能否提供一个不是用rar格式的自动升级.exe

因为狐表自带的压缩格式是zip格式。

你的自动升级下载的格式是rar的。

另外,自动升级.exe能够升级后,自动删除"升级配置.INI"就更加好了。
涉及服务器安全的问题。
这个文件可以自动生成。升级后删除,应该没影响的。
[此贴子已经被作者于2014-4-23 20:55:14编辑过]