Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > เกี่ยวกับระบบ update แต่มัน error มันเปิดตัวของมันเองเรื่อยๆอ่ะครับ แก้ยังไงดี



 

เกี่ยวกับระบบ update แต่มัน error มันเปิดตัวของมันเองเรื่อยๆอ่ะครับ แก้ยังไงดี

 



Topic : 101176



โพสกระทู้ ( 91 )
บทความ ( 0 )



สถานะออฟไลน์




ในโค้ดนี้ การทำงานประมานว่า
ผมสร้าง win app มา 3 ตัว ดังนี้

B1 เป็นโปรแกรม เวอชั่น 1
B2 เป็นโปรแกรม เวอชั่น 2
และ มี autoupdator อยู่

การทำงานคือ

เราเปิด B1 ถ้ามีการอีฟเดท B1 ก็จะโหลดตัว autoupdator เพื่อ ลบ B1 ออก และโหลด B2 มาทับไว้

แต่ใน B2 ผมกำหนดไว้ว่า ถ้ามีการอัฟเดท ก็ให้เปิด autoupdator เพื่อทำการลบ และโหลดมาทับอีกครั้ง แต่ไม่มี
ในโค้ด B2 มันก็จะมี โค้ดดังนี้

คือมันมีโค้ดให้เปิดตัวมันเองเรื่อยๆอ่ะครับ ผมไม่รู้จะแก้ยังไงแล้ว T^T


Code (VB.NET)
Imports System.Net
Imports System.IO


Public Class Form1

   




    'สำหรับเช็คเวอร์ชั่น
    WithEvents webclient1 As New WebClient
    'สำหรับดาวโหลดไฟล์ Update
    WithEvents webclient2 As New WebClient




    Dim oWrite As IO.StreamWriter
    '#################################Config#################################
    Dim urlUpdate As String = "http://www.DEK-GREAN.tk/update/dek-greanupdator.exe" 'ลิงค์ URL ไฟล์ที่จะทำการอัพเดต
    Dim LocalPro As String = "C:\Users\oHm Ja\Desktop\New folder (2)\dek-greanupdator.exe" ' ตำแหน่งที่ตั้งของไฟล์ที่จะอัพเดต
    Dim iniPro As String = Application.ProductVersion 'ตำแหน่งไฟล์ ver.ini เพื่อเช็คเลขเวอร์ชั่นของโปรแกรม
    Dim iniServer As String = "http://www.DEK-GREAN.tk/ver.ini" 'URL ของไฟล์ ver.ini เพื่อเช็คเวอร์ชั่นใหม่
    Dim Proname As String = "C:\Users\oHm Ja\Desktop\New folder (2)\dek-greanupdator.exe" 'โปรแกรมที่จะสั่งให้เปิดเมื่อัพเดตเสร็จ
    Dim Proname2 As String = "DEK-GREAN.exe" 'โปรแกรมที่จะสั่งให้เปิดเมื่อัพเดตเสร็จ

    '#############################################################################

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim chkIPaddress As New Threading.Thread(AddressOf chkUpdate)
        CheckForIllegalCrossThreadCalls = False
        chkIPaddress.Start()
    End Sub

    'Private Sub webclient2_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles webclient2.DownloadProgressChanged
    'ProgressBar1.Maximum = e.TotalBytesToReceive
    'ProgressBar1.Value = e.BytesReceived
    'แสดงเปอร์เซ็น
    'Label2.Text = e.ProgressPercentage & " %"
    'End Sub
    Private Sub webclient2_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles webclient2.DownloadProgressChanged
        ProgressBar1.Maximum = e.TotalBytesToReceive
        ProgressBar1.Value = e.BytesReceived
        'แสดงเปอร์เซ็น
        Label2.Text = e.ProgressPercentage & " %"
    End Sub



    'Private Sub webclient2_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles webclient2.DownloadFileCompleted
    'MsgBox("เสร็จ")
    'Process.Start(Proname)

    'End Sub


    Private Sub download_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles webclient2.DownloadFileCompleted
        MsgBox("เสร็จ")
        Process.Start(Proname)
        Me.Close()
    End Sub

    Private Sub chkUpdate()
        'อ่านเวอร์ชั่นที่โปรแกรม
        Dim versionpro As String = (iniPro)
        'อ่านเวอร์ชั่นที่ Server
        Dim versionsite As String = webclient1.DownloadString(iniServer)

        'ถ้าเวอร์ชั่นที่โปรแกรมกับ Server ไม่ตรงกัน
        If versionsite <> versionpro Then

            'ถ้าไม่ตรงให้เข้ามา Update

            'เริ่มดาวโหลดไฟล์รูปแบบคือ (New Uri("ลิงค์ URL ไฟล์ที่จะทำการอัพเดต"), "ที่อยู่ไฟล์ที่จะเข้าไปแทนที่ ใส่ชื่อไฟล์ลงไปด้วย(")")

            webclient2.DownloadFileAsync(New Uri(urlUpdate), LocalPro)






            'webclient2.DownloadFileAsync(New Uri(urlUpdate), LocalPro)

            'อัพเดตไฟล์ .ini
            oWrite = New IO.StreamWriter(iniPro)
            'เขียนไฟล์ ini ของโปรแกรมให้เท่ากับของ server
            oWrite.Write(versionsite)
            oWrite.Close()

        Else
            'ถ้าตรงไม่ต้อง
            Label2.Text = "เวอร์ชั่นล่าสุดแล้ว"
            Process.Start(Proname2)

        End If
    End Sub
End Class




Tag : .NET, Win (Windows App)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-09-30 22:06:27 By : pongtanakorn View : 851 Reply : 3
 

 

No. 1



โพสกระทู้ ( 821 )
บทความ ( 0 )



สถานะออฟไลน์


เปลี่ยนเป็นเปิดจาก Autoupdator แทนได้ไหมครับ
ถ้ามี update ก็โหลดมาทับ แล้วค่อยเปิดโปรแกรม






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-01 08:20:19 By : fonfire
 


 

No. 2

Guest


ไม่ใช่แฟนก็ทำแทนได้ (ไก่ ชลดา)

ไฟล์ A อันเดียวโด่โด่ ถูกเปิดโดย นายก, นายข, นายค, นายง, นายจ, นายฉ, ... พร้อมฯกัน

นายอีกคนหนึ่งทำอย่างนี้ อยากจะเขียนทับ (ไม่ใช่แฟนก็ทำแทนได้)

Code (VB.NET)
    Private Declare Function apiCopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, _
                                                                           ByVal lpNewFileName As String, _
                                                                           ByVal bFailIfExists As Integer) As Integer

    Dim iRet = apiCopyFile("C:\A.Exe", "C:\A.Exe", 0)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-01 11:53:28 By : ผ่านมา
 

 

No. 3

Guest


แต่แปลกดีนะ
เจ้าของกระทู้ไม่เคยเจอ WebClient Download/Upload Error 405 แสดงว่า Admin Server แจ๋วมากฯ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-01 12:07:25 By : ผ่านมา
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เกี่ยวกับระบบ update แต่มัน error มันเปิดตัวของมันเองเรื่อยๆอ่ะครับ แก้ยังไงดี
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่