Eigenes VB 2010 Programm updaten lassen.

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Du kannst auch online auf einer seite im textformat die aktuelle version schreiben
    und in deinem programm ein label mit der aktuellen version
    und wenn die onlinevesrion höher ist als die auf dem label soll er die aktuellere version runterladen

    VB.NET-Quellcode

    1. Sub CheckUpdate()
    2. Dim VersionDownload As String = Web.DownloadString("http://deinserver.de/unterordner/current_ver/aktuelle_version.txt")
    3. Dim Version As String = Web.DownloadString("http://deinserver.de/unterordner/current_ver/aktuelle_version.txt")
    4. Version = CInt(Version)
    5. If Version > CInt(lblverion.Text) Then
    6. MsgBox("Ein Update wurde gefunden Herunterladen?", (vbYesNo), "Update")
    7. If vbYes Then
    8. Try
    9. Dim path As String = "http://deinserver.de/unterordner/current_ver/" & VersionDownload & "/programmname" & VersionDownload & ".exe"
    10. My.Computer.Network.DownloadFile(path, Application.StartupPath & "\programmname" & VersionDownload & ".exe")
    11. Sleep(5000)
    12. Me.Close()
    13. Catch ex As Exception
    14. MsgBox(ex.ToString)
    15. 'nothing
    16. End Try
    17. End If
    18. End If
    19. End Sub



    Du kannst auch zusätzlich beim programmstart prüfen ob im ausgangsordner ältere versionen vorhanden sind und diese löschen

    VB.NET-Quellcode

    1. Try
    2. System.IO.File.Delete(Environment.CurrentDirectory & "\deinProgramm1.0.0.exe")
    3. System.IO.File.Delete(Environment.CurrentDirectory & "\deinProgramm1.0.1.exe")
    4. System.IO.File.Delete(Environment.CurrentDirectory & "\deinProgramm1.0.2.exe")
    5. Catch ex As Exception
    6. End Try


    Normalerweise müsste man die programmversion durch ein kleiner als aktuelle versionersetzen können habe das aber noch nicht hinbekommen bin auch nur ein noob:)

    sollte aber jemand ne idee haben kann er sich melden

    Das ist denkbar ungeeignet. Ne Version als Integer, keine Trennung von Daten und GUI sowie null Flexibilität.
    Vom My-Namespace und eventuellen Sicherheitsproblemen mal abgesehen...

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    bigbase schrieb:

    Die sicherheit hängt vom server ab
    Nö. Der Server hat damit rein gar nichts zu tun. Es kommt darauf an, wie Du die Pakete absicherst.

    bigbase schrieb:

    aber sie ist sehr einfach um zu setzen
    Einfach != Immer sauber und gut. In dem Fall fallen mir nur Nachteile ein, die dieses System betreffen. Davon abgesehen, dass es so oder so unsauber gelöst ist (auch unabhängig von der Architektur).

    flori2212 schrieb:

    aber sie ist nicht unsicher.
    Insofern keine Signaturverifizierung stattfindet, ist sie unsicher. Ich denke, das war ein Typo? Jedenfalls kann ich keine Ansätze in dem Code von Post #3 erkennen und würde darauf tippen, dass dann irgendwo ein Process.Start mit der .exe als URI kommt.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    bigbase schrieb:


    flori2212 schrieb:

    aber sie ist nicht unsicher.
    Insofern keine Signaturverifizierung stattfindet, ist sie unsicher. Ich denke, das war ein Typo? Jedenfalls kann ich keine Ansätze in dem Code von Post #3 erkennen und würde darauf tippen, dass dann irgendwo ein Process.Start mit der .exe als URI kommt.


    wie schaut es hier aus, wenn vom Server ein zip File geladen wird, wovon nur das Programm das PW zum entpacken kennt?
    Programm herunterladen, Passwort herausfinden, Archiv mit Malware packen und mit dem Passwort versehen, austauschen, fertig.
    Sicherheit kann nur durch signieren der Pakete/Archive erreicht werden. Alles andere ist aushebelbar und stellt keine Absicherung dar.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: