vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Update Funktion erstellen 
Autor: FrankyW
Datum: 10.02.17 22:20

Hallo,

habe mir aus dem Internet folgenden Code geladen:

Public Class Form1
    Private web As New System.Net.WebClient()
 
    Private VersionFilePath As String = _
      "https://drive.google.com/file/d/0B9nqNVbSYwrBRFo2b2dsNjZ6cjA" & _
      "/view?usp=sharing"
    Private UpdateDownloadPath As String = "https://www.dropbox.com/Pfad.exe" & _
    "?dl=0"
    Private SaveFileName As String = Application.StartupPath & "\update.exe"
 
    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
        'If Not IsExecutedInIDE() Then 
        CheckForUpdate()
    End Sub
 
    Private Sub CheckForUpdate()
        If TestInternetConnection() Then
            Try
                Dim version As Integer = CInt(web.DownloadString( _
                  VersionFilePath))
                Label2.Text = version
                If version > CInt(lbl_Version.Text) Then
                    'Label2.Text = version
                    web.DownloadFile(UpdateDownloadPath, SaveFileName)
                    MessageBox.Show("Das Update wurde erfolgreich" & _
                      "heruntergeladen")
                    Process.Start("update.bat")
                    Application.Exit()
                End If
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        Else : MessageBox.Show("keine Internetverbindung")
        End If
    End Sub
 
    Private Function TestInternetConnection() As Boolean
        Try
            Dim ping As New System.Net.NetworkInformation.Ping()
            ping.Send("google.de")
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
 
    Private Function IsExecutedInIDE() As Boolean
        Return Debugger.IsAttached
    End Function
 
End Class
Bekomme immer den Fehler:
ungültige Konvertierung der Zeichenfolge

Es wird der HTML Quelltext geladen, und nicht der Inhalt der txt Datei.

Wie kann ich den Inhalt der txt auslesen ?

Schönen Abend noch
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Update Funktion erstellen 
Autor: Franki
Datum: 11.02.17 02:15

Hallo,

dein Code ist etwas unübersichtlich, bzw. ich vertehe nicht so genau was du da machst.

Prüfe doch mal ob deine *.txt Datei überhaupt vorhanden / erreichbar ist. Von *.txt sehe ich gar nichts in deinem Code.

Wenn ja, dann downloaden, wenn fertig, dann prüfen, ob sie erreichbar ist. (Kann ja sein, dass das schief gegangen ist oder du aus deinem Programm im Downloadverzeichnis keinen Lesezugriff hast oder die Datei nicht dort gelandet ist wo sie sein soll.

Du musst nicht nur prüfen, ob die Internetverbindung besteht sondern auch ob die Datei vorhanden/erreichbar ist und dann prüfen, ob der Download fertig ist und danach ob die Datei am gwünschten Ort vorhanden ist.

Was du da machst kann funktionieren, aber kann auch nicht funktionieren. Das ist rein Glücksache, du mußt da Kontrollen einbauen. Besonders dann wenn es sich um große Dateien handelt wo der Download etwas Zeit braucht.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Update Funktion erstellen 
Autor: minimalist
Datum: 11.02.17 06:21

Label2.Text = version sollte vielleicht Label2.text=version.tostring sein da version as integer deklariert ist
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Update Funktion erstellen 
Autor: FrankyW
Datum: 11.02.17 07:09

Hallo,

wenn man die URL eingibt:

https://drive.google.com/file/d/0B9nqNVbSYwrBRFo2b2dsNjZ6cjA

kommt man zu der txt Datei. In der Steht nur 0.3
Der lbl_Version.Text soll mit dem Wert der URL verglichen werden.

Aber es scheitert wohl daran, das ich das 0.3 der Adresse nicht auslesen kann.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Update Funktion erstellen 
Autor: visualfx
Datum: 11.02.17 10:29

Hallo FrankyW,

das wird so einfach leider nicht gehen:

die Adresse in Deinem Beispiel

"https://drive.google.com/file/d/0B9nqNVbSYwrBRFo2b2dsNjZ6cjA/view?usp=sharing"

ist keine normale Internet-Adresse wie z. B.

"https://abc.xyz.com/folder1/folder2/version.txt"

sondern wird vom google drive-Server abinterpretiert:

- https://drive.google.com = ist noch eine normale Internet-Adresse
- file = ist entweder ein Ordner oder ein google drive-Dateityp
- d = dito wie bei file
- 0B9nqNVbSYwrBRFo2b2dsNjZ6cjA = ist der verschlüsselte Benutzername + Passwort
- view = ist ein google drive-Kommando (Datei anzeigen)
- usp=sharing = ist ein Parameter zum google drive-Kommando (Share-Modus)

Um google drive-Dateien herunter / hinauf laden zu können mußt Du die google drive Api benutzen.

Google mal nach google drive Api oder sehe Dir Youtube-Videos zur google drive Api an.

Gruß, Stefan
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Update Funktion erstellen 
Autor: Franki
Datum: 13.02.17 04:17

Hallo,

sorry, ich hatte das völlig übersehen, dass es sich um GoogleDrive handelt. Deswegen kannst du meine Antwort einfach ignorieren.

Aber da ich das jetzt weiß kommt eine weiter Frage an dicht:
Warum möchtest du ein Update deiner Software über GoogleDrive machen? Das ist völlig unsicher, nicht notwendig und du begibst dich als Entwickler unnötig in Abhängigkeit von Google.

Für solche Sachen kannst du doch auch kostenlosen Webspace nehmen wo du deine *.txt Datei und die Updatedatei hoch laden kannst. Das auszuwerten ist viel einfacher.

Oder preiswerten Webspace bei einem seriösen Hoster wo du sogar eine eigenen Domain für deine Anwendung bekommen kannst. Dann hast du die Möglichkeit selbst zu bestimmen was auf dem Web läuft. Sei es nur die reine Textdatei auslesen oder sogar per ASP/PHP selbst zu gestalten was passiert wenn ein User die Webseite/Website aufruft. Da bist du unabhängig von Google, kannst selbst bestimmen was passiert und nebenbei kannst du auch noch mit etwas Geschickt deine Anwendung bei Google promoten.

Für eine gewerbliche Anwendung würde ich mich nie auf GoogleDrive verlassen, das ist nicht für jeden Kunden erreichbar, erfordert zu viel Aufwand und du bist nicht unabhängig bei der Distribution deiner Software.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel