Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Autoupdate


Rekomendowane odpowiedzi

Opublikowano

Hej, chcę zrobić by aplikacja aktualizowała się gdy pojawi się jej nowa wersja. Macie jakieś rady, pomysły jak tego dokonać? Jak aplikacja ma sprawdzić czy jest nowsza wersja i pobrała ją? Używać FTP czy jakiegoś hostingu plików. I jak miał by wyglądać proces aktualizacji bez utraty dannych zawartych w aplikacji? (jest to jeden plik exe). Proszę o jakieś rady :) Pozdrawiam Crossik.

Opublikowano

 

    Private Sub FlatButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatButton3.Click
        Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("strona/version.txt")
        Dim response As System.Net.HttpWebResponse = request.GetResponse()
        Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
        Dim newestversion As String = sr.ReadToEnd()
        Dim currentversion As String = Application.ProductVersion
        If newestversion.Contains(currentversion) Then
            FlatStatusBar1.Text = ("You have the current version!")
        Else
            FlatStatusBar1.Text = ("New version available!")
            My.Computer.FileSystem.DeleteFile("xxx")
            My.Computer.Network.DownloadFile("xxx", "xxx")
        End If
    End Sub

nie wiem jak z utrata danych

Opublikowano

okey, dzięki a wiesz może jak mogę w łatwy sposób podłączyć się pod FTP? Bez innych bibliotek ? 

My.Computer.Network.DownloadFile(
"http://www.cohowinery.com/downloads/WineList.txt",
"C:\Documents and Settings\All Users\Documents\WineList.txt", "anonymous", "")

znalazłem coś takiego ale to nie ma zupełnie sensu :).

Opublikowano

w "strona/version.txt" dajesz obojętny link czy z hostingu czy ftp tylko dajesz link do pliku, np:
https://www.mojastrona.pl/files/version/version.txt, lub www.mojastrona.pl/files/version/version.txt

 

A ftp jak bardzo chcesz się połączyć to wpisz w google: "vb ftp connect"

, ale z jakąś biblioteką osobną będzie łatwiej :D
 

Opublikowano

właśnie nie zależy mi na łączeniu się z nią tylko np ściągnięciu z niej jednego pliku tylko gdy daje IP/test.txt to wywala mi że nie jestem zalogowany. A słyszałem że nie trzeba być zalogowanym do pobierania z ftp.

Opublikowano

okey, dzięki a wiesz może jak mogę w łatwy sposób podłączyć się pod FTP? Bez innych bibliotek ? 

My.Computer.Network.DownloadFile(

"http://www.cohowinery.com/downloads/WineList.txt",

"C:\Documents and Settings\All Users\Documents\WineList.txt", "anonymous", "")

znalazłem coś takiego ale to nie ma zupełnie sensu :).

.. My.Computer.Network.DownloadFile to jest pobieranie pliku, ale można pobrać sam text.

 

Tym:

    Private Sub FlatButton3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlatButton3.Click
        Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("strona/version.txt")
        Dim response As System.Net.HttpWebResponse = request.GetResponse()
        Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
        Dim newestversion As String = sr.ReadToEnd()
        Dim currentversion As String = Application.ProductVersion
        If newestversion.Contains(currentversion) Then
            FlatStatusBar1.Text = ("You have the current version!")
        Else
            FlatStatusBar1.Text = ("New version available!")
            My.Computer.FileSystem.DeleteFile("xxx")
            My.Computer.Network.DownloadFile("xxx", "xxx")
        End If
    End Sub

nie wiem jak z utrata danych

 

Opublikowano

Okey jestem tak tępy że próbowałem ściągać to z ip a dopiero potem uświadomiłem sobie że ftp na domenę.

Dzięki wielkie, mam jakiś postęp.

@Edit

Wszystko działa idealnie oprócz usuwania pliku, jak ma to się odbyć skoro jest on uruchomiony? plik exe ma zostać usunięty i ściągnięty? może jakoś to zrobić .bat albo oddzielny aktualizator? ale chciał bym tego uniknąć.

Opublikowano

@Crossiik
A ten plik, który pobierasz masz zmienioną nazwę, np: "mójprogram v1.0.exe", a nowa wersja "mójprogram v1.1.exe" ??
Bo jak tak to możesz dodać w kodzie, że stara wersja się zamyka, a nowa uruchamia i usuwa starą wersje.

Opublikowano

Zepsuło by to trochę resztę kodu bo jest istotna nazwa, ale rozwiązałem ten problem jednak oddzielnym aktualizaotrem.

 

     Dim WC As New WebClient
        If My.Computer.FileSystem.FileExists(My.Application.Info.DirectoryPath & "\Vlauncher.exe") Then
            My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath & "\Vlauncher.exe")
            WC.DownloadFileAsync(New Uri("xxxxx"), My.Application.Info.DirectoryPath & "\Vlauncher.exe")
            Process.Start(My.Application.Info.DirectoryPath & "\Vlauncher.exe")
            Me.Close()
        Else
            MsgBox("Error 821")
            Me.Close()
        End If
 
jak by ktoś potrzebował :D

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...