Imports System.IO Imports System.Net Imports System.Net.NetworkInformation Public Class HX_PGS_UPDATE ReadOnly ds2 As New DataSet ReadOnly computerProperties As IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties() ReadOnly IPEndPoint() As EndPoint = computerProperties.GetActiveTcpListeners() Dim myIPEndPoint As IPEndPoint Dim 內網線路 As Boolean : ReadOnly 開發線路 As Boolean Private Sub Set_清單1() ftp清單_dgv.DataSource = Nothing : ds2.Clear() ftp清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing ftp清單_dgv.ColumnHeadersHeight = 25 ftp清單_dgv.AllowUserToAddRows = False SQL_FTP資料夾路徑分配() da.Fill(ds2) : ftp清單_dgv.DataSource = ds2.Tables(0) : conn.Close() End Sub Private Sub IP比對() '-----------------------IP比對---------------------------------------------------------------------------------------------------------------------------------------------------- 伺服器區域_cb.Text = "公司雲端" End Sub Private Sub 伺服器區域_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 伺服器區域_cb.SelectedIndexChanged '-----------------------確認登入伺服器位置----------------------------------------------------------------------------------------------------------------------------------------- If SQL_連線狀態模組1.ConnectTest1("103.231.201.230, 2433") = True Then 登入人IP = "103.231.201.230,2433" Else 登入人IP = "103.144.143.182,2433" End If End Sub Private Sub HX_PGS_UPDATE_Load(sender As Object, e As EventArgs) Handles MyBase.Load IP比對() : 資料數 = 86 MyModule1.進度條() : If Strings.Left(伺服器區域_cb.Text, 2) = "公司" Then : SQL_連線字串_正式() : Else : SQL_連線字串_測試() : End If MyModule1.進度條() : SQL_FTP伺服器登入位置() MyModule1.進度條() : If dr.Read() Then : Target = dr("FTP地址") : FTP帳號 = dr("FTP帳號") : FTP密碼 = dr("FTP密碼") : FTP物理位置 = dr("FTP物理位置") : End If : conn.Close() MyModule1.進度條() : Set_清單1() MyModule1.進度條() : Dim HH As String = "" For i As Integer = 0 To ftp清單_dgv.Rows.Count - 1 If i < 10 Then : HH = "0" & i : ElseIf i >= 10 Then : HH = i : End If If ftp清單_dgv("指定", i).Value.ToString = "AA" & HH Then : AA(i) = ftp清單_dgv("資料夾名稱", i).Value.ToString : End If Next MyModule1.進度條() : Target1 = Target & AA(0) & "/" End Sub Private Sub HX_PGS_UPDATE_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown MyModule1.進度條() : Delay(30000) MyModule1.進度條() : Dim Str As String = Application.StartupPath '--- 刪除在下載--------------------------------------------------------------------------------------------------------------------------- MyModule1.進度條() : If File.Exists(Str + "\HX-PGS-ERP-SYS.exe") Then : File.Delete(Str + "\HX-PGS-ERP-SYS.exe") : End If MyModule1.進度條() : If File.Exists(Str + "\HX01.docx") Then : File.Delete(Str + "\HX01.docx") : End If MyModule1.進度條() : If File.Exists(Str + "\PGS01.docx") Then : File.Delete(Str + "\PGS01.docx") : End If MyModule1.進度條() : If File.Exists(Str + "\LIN HSING HAO.txt") Then : File.Delete(Str + "\LIN HSING HAO.txt") : End If MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "HX-PGS-ERP-SYS.exe", Str + "\HX-PGS-ERP-SYS.exe") MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "HX01.docx", Str + "\HX01.docx") MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "PGS01.docx", Str + "\PGS01.docx") MyModule1.進度條() : My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "LIN HSING HAO.txt", Str + "\LIN HSING HAO.txt") '--- 比對下載--------------------------------------------------------------------------------------------------------------------------- MyModule1.進度條() If Dir(Str + "\Theme", vbDirectory) <> "" Then : Else : MyModule1.進度條() : MkDir(Str + "\Theme") : End If MyModule1.進度條() : If File.Exists(Str + "\Theme\excel_chinese.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "excel_chinese.xml", Str + "\Theme\excel_chinese.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Theme\excel_english.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "excel_english.xml", Str + "\Theme\excel_english.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Theme\TelerikMetro_Chinese.tssp") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "TelerikMetro_Chinese.tssp", Str + "\Theme\TelerikMetro_Chinese.tssp") : End If MyModule1.進度條() : If File.Exists(Str + "\Theme\word_chinese.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "word_chinese.xml", Str + "\Theme\word_chinese.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Theme\word_english.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "word_english.xml", Str + "\Theme\word_english.xml") : End If '--- 比對下載--------------------------------------------------------------------------------------------------------------------------- MyModule1.進度條() : If File.Exists(Str + "\HX-PGS-Message.exe") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "HX-PGS-Message.exe", Str + "\HX-PGS-Message.exe") : End If MyModule1.進度條() : If File.Exists(Str + "\HX-PGS-Message.exe") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "HX-PGS-Message.exe", Str + "\HX-PGS-Message.exe") : End If MyModule1.進度條() : If File.Exists(Str + "\Tran.exe") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Tran.exe", Str + "\Tran.exe") : End If MyModule1.進度條() : If File.Exists(Str + "\HX-PGS-ERP-SYS.pdb") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "HX-PGS-ERP-SYS.pdb", Str + "\HX-PGS-ERP-SYS.pdb") : End If MyModule1.進度條() : If File.Exists(Str + "\HX-PGS-ERP-SYS.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "HX-PGS-ERP-SYS.xml", Str + "\HX-PGS-ERP-SYS.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Interop.SHDocVw.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Interop.SHDocVw.dll", Str + "\Interop.SHDocVw.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\AxInterop.MSHTML.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "AxInterop.MSHTML.dll", Str + "\AxInterop.MSHTML.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\AxInterop.SHDocVw.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "AxInterop.SHDocVw.dll", Str + "\AxInterop.SHDocVw.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\HX-PGS-ERP-SYS.exe.config") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "HX-PGS-ERP-SYS.exe.config", Str + "\HX-PGS-ERP-SYS.exe.config") : End If MyModule1.進度條() : If File.Exists(Str + "\A.txt") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "A.txt", Str + "\A.txt") : End If MyModule1.進度條() : If File.Exists(Str + "\C.txt") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "C.txt", Str + "\C.txt") : End If MyModule1.進度條() : If File.Exists(Str + "\ch.txt") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "ch.txt", Str + "\ch.txt") : End If MyModule1.進度條() : If File.Exists(Str + "\DotNetBarcode.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "DotNetBarcode.dll", Str + "\DotNetBarcode.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\en.txt") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "en.txt", Str + "\en.txt") : End If MyModule1.進度條() : If File.Exists(Str + "\IdentityModel.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "IdentityModel.dll", Str + "\IdentityModel.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\IdentityModel.pdb") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "IdentityModel.pdb", Str + "\IdentityModel.pdb") : End If MyModule1.進度條() : If File.Exists(Str + "\IdentityModel.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "IdentityModel.xml", Str + "\IdentityModel.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\in.txt") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "in.txt", Str + "\in.txt") : End If MyModule1.進度條() : If File.Exists(Str + "\Newtonsoft.Json.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Newtonsoft.Json.dll", Str + "\Newtonsoft.Json.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Newtonsoft.Json.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Newtonsoft.Json.xml", Str + "\Newtonsoft.Json.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\PInvoke.Windows.Core.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "PInvoke.Windows.Core.dll", Str + "\PInvoke.Windows.Core.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\PInvoke.Windows.Core.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "PInvoke.Windows.Core.xml", Str + "\PInvoke.Windows.Core.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\py-tran-log.txt") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "py-tran-log.txt", Str + "\py-tran-log.txt") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Buffers.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Buffers.dll", Str + "\System.Buffers.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Buffers.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Buffers.xml", Str + "\System.Buffers.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Memory.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Memory.dll", Str + "\System.Memory.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Memory.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Memory.xml", Str + "\System.Memory.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Numerics.Vectors.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Numerics.Vectors.dll", Str + "\System.Numerics.Vectors.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Numerics.Vectors.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Numerics.Vectors.xml", Str + "\System.Numerics.Vectors.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Runtime.CompilerServices.Unsafe.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Runtime.CompilerServices.Unsafe.dll", Str + "\System.Runtime.CompilerServices.Unsafe.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Runtime.CompilerServices.Unsafe.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Runtime.CompilerServices.Unsafe.xml", Str + "\System.Runtime.CompilerServices.Unsafe.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Text.Encodings.Web.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Text.Encodings.Web.dll", Str + "\System.Text.Encodings.Web.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\System.Text.Encodings.Web.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "System.Text.Encodings.Web.xml", Str + "\System.Text.Encodings.Web.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RadToastNotification.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RadToastNotification.dll", Str + "\Telerik.WinControls.RadToastNotification.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RadToastNotification.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RadToastNotification.xml", Str + "\Telerik.WinControls.RadToastNotification.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.SyntaxEditor.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.SyntaxEditor.dll", Str + "\Telerik.WinControls.SyntaxEditor.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.SyntaxEditor.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.SyntaxEditor.xml", Str + "\Telerik.WinControls.SyntaxEditor.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RadWebCam.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RadWebCam.dll", Str + "\Telerik.WinControls.RadWebCam.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RadWebCam.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RadWebCam.xml", Str + "\Telerik.WinControls.RadWebCam.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.GridView.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.GridView.dll", Str + "\Telerik.WinControls.GridView.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RadMap.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RadMap.dll", Str + "\Telerik.WinControls.RadMap.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RadMap.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RadMap.xml", Str + "\Telerik.WinControls.RadMap.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.GridView.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.GridView.xml", Str + "\Telerik.WinControls.GridView.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.ChartView.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.ChartView.dll", Str + "\Telerik.WinControls.ChartView.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.ChartView.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.ChartView.xml", Str + "\Telerik.WinControls.ChartView.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.UI.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.UI.dll", Str + "\Telerik.WinControls.UI.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.UI.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.UI.xml", Str + "\Telerik.WinControls.UI.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.dll", Str + "\Telerik.WinControls.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.xml", Str + "\Telerik.WinControls.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\TelerikCommon.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "TelerikCommon.dll", Str + "\TelerikCommon.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\MediaFoundation.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "MediaFoundation.dll", Str + "\MediaFoundation.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.Windows.MediaFoundation.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.Windows.MediaFoundation.dll", Str + "\Telerik.Windows.MediaFoundation.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Microsoft.Toolkit.Uwp.Notifications.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Microsoft.Toolkit.Uwp.Notifications.dll", Str + "\Microsoft.Toolkit.Uwp.Notifications.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\SuperDataGrid.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "SuperDataGrid.dll", Str + "\SuperDataGrid.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.PdfViewer.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.PdfViewer.dll", Str + "\Telerik.WinControls.PdfViewer.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.PdfViewer.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.PdfViewer.xml", Str + "\Telerik.WinControls.PdfViewer.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RichTextEditor.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RichTextEditor.dll", Str + "\Telerik.WinControls.RichTextEditor.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.WinControls.RichTextEditor.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.WinControls.RichTextEditor.xml", Str + "\Telerik.WinControls.RichTextEditor.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.Windows.Documents.Core.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.Windows.Documents.Core.dll", Str + "\Telerik.Windows.Documents.Core.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.Windows.Documents.Core.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.Windows.Documents.Core.xml", Str + "\Telerik.Windows.Documents.Core.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.Windows.Documents.Fixed.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.Windows.Documents.Fixed.dll", Str + "\Telerik.Windows.Documents.Fixed.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.Windows.Documents.Fixed.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.Windows.Documents.Fixed.xml", Str + "\Telerik.Windows.Documents.Fixed.xml") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.Windows.Zip.dll") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.Windows.Zip.dll", Str + "\Telerik.Windows.Zip.dll") : End If MyModule1.進度條() : If File.Exists(Str + "\Telerik.Windows.Zip.xml") Then : Else My.Computer.Network.DownloadFile(Target & AA(0) & "/" & "Telerik.Windows.Zip.xml", Str + "\Telerik.Windows.Zip.xml") : End If '--- 開啟專案--------------------------------------------------------------------------------------------------------------------------- MyModule1.進度條() : Shell(Str + "\HX-PGS-ERP-SYS.exe", vbNormalFocus) Me.Close() End Sub Public Sub Delay(ByRef Interval As Double) 'Interval单位为毫秒 Dim time As DateTime = DateTime.Now Dim Span As Double = Interval * 1234 While ((DateTime.Now.Ticks - time.Ticks) < Span) Application.DoEvents() End While End Sub End Class