If publishdate < "2017-03-16 09:38" Then
Dim zip As New zipFile
Dim s3 As String = upath & datafile '服务器上升级文件中包含升级内容的文件
Dim s4 As String = rpath & "\" & datafile '准备保存在客户端的包含升级内容的文件
If FileSys.DirectoryExists(rpath) = False Then
FileSys.CreateDirectory(rpath)
End If
ftp1.download(s3,s4,False) '静默下载并另存
zip.Open(s4) '打开升级文件
zip.Extractall(rpath) '全部解压到客户端运行文件夹
zip.Close() '关闭升级文件
FileSys.deleteFile(s4,2,2) '删除升级文件
If filesys.DirectoryExists(npath) = False Then
filesys.CreateDirectory(npath)
End If
ftp1.download(upath & "update.zip",npath & "update.zip",True) '静默下载并另存,update.zip见下文的"发布上传"
zip.Open(npath & "update.zip")
zip.ExtractAll(npath)
zip.Close()
FileSys.deleteFile(npath & "update.zip",2,2) '删除升级文件
Dim s As String = rpath & "\update.bat" '建立升级批命令文件
If filesys.FileExists(s) Then
filesys.DeleteFile(s)
End If
filesys.WriteAllText(s,"@echo off" & vbcrlf,True,Encoding.Default)
filesys.WriteAllText(s,"taskkill /f /im 零售经营系统.exe" & vbcrlf,True,Encoding.Default)
filesys.WriteAllText(s,"echo Wscript.Sleep Wscript.Arguments(0) * 1000>Delay.vbs" & vbcrlf,True,Encoding.Default)
filesys.WriteAllText(s,"Delay.vbs 3" & vbcrlf,True,Encoding.Default)
filesys.WriteAllText(s,"del Delay.vbs" & vbcrlf,True,Encoding.Default)
filesys.WriteAllText(s,"move /y " & npath & "*.* c:\" & pname & vbcrlf,True,Encoding.Default)
filesys.WriteAllText(s,"start /c c:\" & pname & " /max " & ename & vbcrlf,True,Encoding.Default)
filesys.WriteAllText(s,"del " & s & vbcrlf,True,Encoding.Default)
Dim Proc As New Process '定义一个新的Process
Proc.File = s '指定要打开的文件
Proc.Verb = "Open" '指定动作
Proc.Start()
proc.WaitForExit
Proc.File = "c:\" & pname & "\" & ename 问题在这里:版本升级后想要自动打开,这样好像不能实现,因为退出来了.....有什么办法可以实现吗?是不是可以用批处理打开文件?怎么做呢。。。
Proc.Verb = "Open" '指定动作
Proc.Start()
End If
[此贴子已经被作者于2017/3/16 10:15:02编辑过]