在远程文件管理器有时会显示列表失败, 451 another command is currently pending ,Please try again later,
'连接FTP服务器
Dim ftp As New FtpClient
ftp.Host = ftp_Host 'ftp服务器地址
ftp.Account = ftp_User 'ftp登录帐号
ftp.Password = ftp_Pwd 'ftp登录密码
ftp.Port = ftp_Port 'ftp端口号
ftp.RootDir = "/Update" '如果升级所需文件刚好放置在FTP的根目录下,可以不用设置此属性;否则需要设置目录路径.
If TryConnectHost(ftp_Host) Then '如果ftp的网络是通的检测是否有升级包
If ftp.Connect Then '如果FTP没有连接,用备用域名连接
'----新增临时升级目录----
If FileSys.DirectoryExists("D:\UpdateTemporary") = False Then
FileSys.CreateDirectory("D:\UpdateTemporary")
End If
'---先下载ftp服务器上的日期文件----------
If ftp.Download("\Update\Update.Txt","D:\UpdateTemporary\Update.Txt") = True Then '如果下载升级日期文件成功
Dim ud() As String = FileSys.ReadAllText("D:\UpdateTemporary\Update.Txt").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 Then '如果服务器程序发布日期大于客户端发布日期(大升级)
'If MessageBox.Show("发现新的版本更新,发布日期:" & Sdate2 & ",是否升级?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
If ftp.Download("\Update\Update2.Zip","D:\UpdateTemporary\Update2.Zip") = True Then '如果下载程序文件成功
UpdatePath = "D:\UpdateTemporary"
RemoteUpdate = False
If Syscmd.Project.Update(False,True) = True Then '发现新版本时不提示用户,因为前面已提示过
'----删除临时升级目录----
If FileSys.DirectoryExists("D:\UpdateTemporary") = True Then
FileSys.DeleteDirectory("D:\UpdateTemporary",2,2)
End If
Return '升级完成后必须先中止后面的代码,否则会出错
End If
End If
' End If
ElseIf Sdate1 > Cdate1 Then '如果服务器版本发布日期大于客户端发布日期(小升级)
'If MessageBox.Show("发现新的更新,发布日期:" & Sdate1 & ",是否升级?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
If ftp.Download("\Update\Update1.Zip","D:\UpdateTemporary\Update1.Zip") = True Then '如果下载程序文件成功
UpdatePath = "D:\UpdateTemporary"
RemoteUpdate = False
If Syscmd.Project.Update(False,True) = True Then '发现新版本时不提示用户,因为前面已提示过
'----删除临时升级目录----
If FileSys.DirectoryExists("D:\UpdateTemporary") = True Then
FileSys.DeleteDirectory("D:\UpdateTemporary",2,2)
End If
Return '升级完成后必须先中止后面的代码,否则会出错
End If
End If
'End If
Else
MessageBox.Show("您正在使用的已经是最新版本!")
End If
End If
End If
End If