Imports System.IO Imports System.Net Imports System.Text 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 內網線路, 開發線路, 刪除完成, OK1, OK2, OK3, OK4, OK5, OK6, OK7, OK8, OK9, OK10 As Boolean Dim Str As String = Application.StartupPath : Dim 超大更新 As Boolean = True Dim TF, FS1 As String : Dim 標 As String = "SYS-UPDATE........" Private Sub HX_PGS_UPDATE_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim strDirName As String : Dim Strs As String = Application.StartupPath If File.Exists(Strs & "\OPUPDATE.txt") Then : File.Delete(Strs & "\OPUPDATE.txt") : End If strDirName = Strs & "\OPUPDATE.txt" Try Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append) Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default) Dim str1 As String = "..." sw.WriteLine(str1) '插入一整行 sw.Flush() End Using End Using Catch ex As Exception End Try '----------判斷是否有更新指定檔案------------------------------------------------------------------------------------- If File.Exists(Strs & "\HXUPDATE.txt") Then : Else strDirName = Strs & "\HXUPDATE.txt" Try Using fs As IO.FileStream = New IO.FileStream(strDirName, FileMode.Append) Using sw As StreamWriter = New StreamWriter(fs, Encoding.Default) Dim strk As String = "3" sw.WriteLine(strk) '插入一整行 sw.Flush() End Using End Using Catch ex As Exception End Try End If 登入人IP = "36.64.59.26,2433" : Target = "https://gcm-smart.com/ERP/HX-PGS/" '----------讀取更新指定檔案------------------------------------------------------------------------------------- Dim Str As String = Application.StartupPath If File.Exists(Str + "\HXUPDATE.txt") Then Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Str + "\HXUPDATE.txt", System.Text.Encoding.Default) Dim Text As String = "" : Dim line As String = filereader.ReadLine() While Not (line Is Nothing) : Text = Text & line & vbCrLf : line = filereader.ReadLine() : End While : filereader.Close() If Strings.Left(Text, 1) = "1" Then 小更新_ch.Checked = True : 中更新_ch.Checked = False : 大更新_ch.Checked = False : 資料數 = 4 ElseIf Strings.Left(Text, 1) = "2" Then 小更新_ch.Checked = False : 中更新_ch.Checked = True : 大更新_ch.Checked = False : 資料數 = 70 ElseIf Strings.Left(Text, 1) = "3" Then 小更新_ch.Checked = False : 中更新_ch.Checked = False : 大更新_ch.Checked = True : 資料數 = 226 End If End If End Sub Private Sub HX_PGS_UPDATE_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown 超大更新 = False If 超大更新 = True Then MsgBox("版本修正資訊過大,請通知系統管理員重新安裝程式!!!" & vbCrLf & "Informasi koreksi versi terlalu besar. Harap beri tahu administrator sistem untuk memasang ulang program!!!") Me.Close() Else 資料數 = 4 : 小更新.Enabled = True '--- 開啟專案--------------------------------------------------------------------------------------------------------------------------- OK.Enabled = True End If End Sub Private Sub 小更新_Tick(sender As Object, e As EventArgs) Handles 小更新.Tick 小更新.Enabled = False 主程式更新.Enabled = True : OK2 = True : OK3 = True : OK4 = True : OK5 = True : OK6 = True : OK7 = True : OK8 = True : OK9 = True : OK10 = True 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 Private Sub OK_Tick(sender As Object, e As EventArgs) Handles OK.Tick If OK1 = True And OK2 = True And OK3 = True And OK4 = True And OK5 = True And OK6 = True And OK7 = True And OK8 = True And OK9 = True And OK10 = True Then OK.Enabled = False : CheckBox11.Checked = True : Dim FS1 As String FS1 = "HXUPDATE.txt" : If File.Exists(Str & "\" & FS1) Then : File.Delete(Str & "\" & FS1) : End If Shell(Str + "\HX-PGS-ERP-SYS.exe", vbNormalFocus) : Me.Close() End If End Sub Private Sub 更新路徑01() Me.Text = 標 & TF & FS1 : My.Computer.Network.DownloadFile(Target & FS1, Str & "\" & FS1) End Sub Private Sub 更新路徑02() Me.Text = 標 & TF & FS1 : My.Computer.Network.DownloadFile(Target & "de/" & FS1, Str & "\de\" & FS1) End Sub Private Sub 更新路徑03() Me.Text = 標 & TF & FS1 : My.Computer.Network.DownloadFile(Target & "DawnCache/" & FS1, Str & "\DawnCache\" & FS1) End Sub Private Sub 更新路徑04() Me.Text = 標 & TF & FS1 : My.Computer.Network.DownloadFile(Target & "GPUCache/" & FS1, Str & "\GPUCache\" & FS1) End Sub Private Sub 更新路徑05() Me.Text = 標 & TF & FS1 : My.Computer.Network.DownloadFile(Target & "locales/" & FS1, Str & "\locales\" & FS1) End Sub Private Sub 主程式更新_Tick(sender As Object, e As EventArgs) Handles 主程式更新.Tick Dim 已開啟 As Boolean = False : Dim Strs As String = Application.StartupPath '-------------------刪除重新下載------------------------------------------------------------------------------------------- MyModule1.進度條() : FS1 = "LANGUAGE_FILE.csv" : If File.Exists(Str & "\" & FS1) Then : File.Delete(Str & "\" & FS1) : End If : 更新路徑01() '-------------------沒找到就下載------------------------------------------------------------------------------------------- FS1 = "TOKEN.pdf" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "HXBWLOG.png" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "PGSBWLOG.PNG" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.BrowserSubprocess.Core.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.BrowserSubprocess.Core.pdb" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.BrowserSubprocess.exe" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.BrowserSubprocess.pdb" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.Core.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.Core.pdb" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.Core.Runtime.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.Core.Runtime.pdb" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.Core.Runtime.xml" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.Core.xml" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.pdb" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.WinForms.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.WinForms.pdb" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.WinForms.xml" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "CefSharp.xml" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "chrome_100_percent.pak" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "chrome_200_percent.pak" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "chrome_elf.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "d3dcompiler_47.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "DocumentFormat.OpenXml.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "DocumentFormat.OpenXml.xml" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "icudtl.dat" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "libcef.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "libEGL.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "libGLESv2.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "LICENSE.txt" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "README.txt" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "resources.pak" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "snapshot_blob.bin" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "v8_context_snapshot.bin" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "vk_swiftshader.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "vk_swiftshader_icd.json" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "vulkan-1.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "PdfSharp.Charting.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "PdfSharp.Charting.xml" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "PdfSharp.dll" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If FS1 = "PdfSharp.xml" : MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : Else : 更新路徑01() : End If MyModule1.進度條() : If Dir(Str + "\de", vbDirectory) <> "" Then : Else : MkDir(Str + "\de") : End If FS1 = "PdfSharp.Charting.resources.dll" : MyModule1.進度條() : If File.Exists(Str & "\de\" & FS1) Then : Else : 更新路徑02() : End If FS1 = "PdfSharp.resources.dll" : MyModule1.進度條() : If File.Exists(Str & "\de\" & FS1) Then : Else : 更新路徑02() : End If MyModule1.進度條() : If Dir(Str + "\DawnCache", vbDirectory) <> "" Then : Else : MkDir(Str + "\DawnCache") : End If FS1 = "data_0" : MyModule1.進度條() : If File.Exists(Str & "\DawnCache\" & FS1) Then : Else : 更新路徑03() : End If FS1 = "data_1" : MyModule1.進度條() : If File.Exists(Str & "\DawnCache\" & FS1) Then : Else : 更新路徑03() : End If FS1 = "data_2" : MyModule1.進度條() : If File.Exists(Str & "\DawnCache\" & FS1) Then : Else : 更新路徑03() : End If FS1 = "data_3" : MyModule1.進度條() : If File.Exists(Str & "\DawnCache\" & FS1) Then : Else : 更新路徑03() : End If FS1 = "index" : MyModule1.進度條() : If File.Exists(Str & "\DawnCache\" & FS1) Then : Else : 更新路徑03() : End If MyModule1.進度條() : If Dir(Str + "\GPUCache", vbDirectory) <> "" Then : Else : MkDir(Str + "\GPUCache") : End If FS1 = "data_0" : MyModule1.進度條() : If File.Exists(Str & "\GPUCache\" & FS1) Then : Else : 更新路徑04() : End If FS1 = "data_1" : MyModule1.進度條() : If File.Exists(Str & "\GPUCache\" & FS1) Then : Else : 更新路徑04() : End If FS1 = "data_2" : MyModule1.進度條() : If File.Exists(Str & "\GPUCache\" & FS1) Then : Else : 更新路徑04() : End If FS1 = "data_3" : MyModule1.進度條() : If File.Exists(Str & "\GPUCache\" & FS1) Then : Else : 更新路徑04() : End If FS1 = "index" : MyModule1.進度條() : If File.Exists(Str & "\GPUCache\" & FS1) Then : Else : 更新路徑04() : End If MyModule1.進度條() : If Dir(Str + "\locales", vbDirectory) <> "" Then : Else : MkDir(Str + "\locales") : End If FS1 = "af.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "am.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ar.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "bg.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "bn.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ca.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "cs.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "da.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "de.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "el.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "en-GB.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "en-US.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "es-419.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "es.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "et.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "fa.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "fi.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "fil.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "fr.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "gu.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "he.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "hi.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "hr.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "hu.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "id.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "it.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ja.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "kn.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ko.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "lt.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "lv.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ml.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "mr.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ms.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "nb.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "nl.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "pl.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "pt-BR.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "pt-PT.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ro.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ru.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "sk.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "sl.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "sr.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "sv.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "sw.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ta.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "te.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "th.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "tr.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "uk.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "ur.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "vi.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "zh-CN.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "zh-TW.pak" : MyModule1.進度條() : If File.Exists(Str & "\locales\" & FS1) Then : Else : 更新路徑05() : End If FS1 = "HX-PGS-ERP-SYS.exe" If File.Exists(My.Computer.FileSystem.SpecialDirectories.Desktop & "\" & FS1) Then Dim pro() As Process = System.Diagnostics.Process.GetProcesses() ' 判斷是否有符合的Process For Each process As Process In pro : If ("HX-PGS-ERP-SYS").Equals(process.ProcessName) Then : 已開啟 = True : End If : Next If 已開啟 = False Then 主程式更新.Enabled = False MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : File.Delete(Str & "\" & FS1) : End If 更新路徑01() OK1 = True : CheckBox1.Checked = True End If ElseIf File.Exists(Strs & "\" & FS1) Then Dim pro() As Process = System.Diagnostics.Process.GetProcesses() ' 判斷是否有符合的Process For Each process As Process In pro : If ("HX-PGS-ERP-SYS").Equals(process.ProcessName) Then : 已開啟 = True : End If : Next If 已開啟 = False Then 主程式更新.Enabled = False MyModule1.進度條() : If File.Exists(Str & "\" & FS1) Then : File.Delete(Str & "\" & FS1) : End If 更新路徑01() OK1 = True : CheckBox1.Checked = True End If End If End Sub End Class