Updatefunktion

  • Hallo Com,

    ich habe folgendes Problem mit meinem Script:

    Spoiler anzeigen
    [autoit]

    Dim $ver = "1.0.0"
    InetGet("http://www.trap-making.bplaced.net/Update.txt",@TempDir & "\update.txt", 1, 0)
    $file = FileOpen(@TempDir & "\update.txt", 0)
    $line = FileReadLine($file, 1)
    $line2= FileReadLine($file, 2)
    If $line = $ver Then
    MsgBox(64, "Kein Update", "Du hast die neuste Version: (" & $ver & ")")
    FileClose($file)
    FileDelete(@TempDir & "\update.txt")
    Else
    MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!")
    $fg = MsgBox(4, "Updaten?", "Möchtest du jetzt Updaten?")
    If $fg = 6 Then
    InetGet("http://www.trap-making.bplaced.net/Test.ini" & $line2, $line2, 1, 0)
    FileClose($file)
    FileDelete(@TempDir & "\update.txt")
    Exit 0
    EndIf
    EndIf

    [/autoit]

    Egal was ich bei der Variablen $var eingebe , er gibt mir immer wieder in einer MsgBox zurück :

    "Update!"
    "Es ist eine Neue Version verfügbar!"

    $var ist für die aktuelle Version des Scriptes und in der .txt Datei auf dem Server steht 1.0.1 .
    Es ändert sich nichts !
    Ich habe schon mal probiert InetGet allein stehen zu lassen um dann die Datei runterzuladen , das funktioniert ebenfalls nicht !

    Schnelle Zusammenfassung:

    1. er gibt mir immer das gleiche in einer MsgBox zurück egal wie die Version ist
    2. er lädt nichts aus dem Internet egal ob InetGet allein steht oder mit dem Script zusamm
    3. er liest bzw er lädt noch nicht mal die update.txt aus dem Netz und liest sie bzw löscht sie ...

    €1: update.txt die auf dem Server liegt im Download hinzugefügt

    Mit freundlichen Grüßen

    volle

    Einmal editiert, zuletzt von volle (17. September 2010 um 23:04)

  • Spoiler anzeigen
    [autoit]


    #include <FTPEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $FTP= _FTP_Open("Irgendwas")
    $Session=_FTP_FileOpen($FTP,"Name Der Datei")
    $Connect=_FTP_Connect($Session,"ip des Servers","User","Pass")
    $Size=_FTP_FileGetSize($Connect,"Deine Datei")
    $Read=_FTP_FileRead("Deine Datei",$Size)

    [/autoit]
  • für bplaced musst du einen HTTPUserAgenten setzen, da bplaced ansonsten blockiert z.B.:

    [autoit]

    HttpSetUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10')

    [/autoit]

    Klappi aber auch nicht. Das liegt vielleicht daran:

    Zitat von Seite ([url

    http://www.trap-making.bplaced.net/Update.txt[/url]) manuell aufgerufen] bplaced.net Diese Seite ist leider nicht mehr verfügbar, Fehler 404. Sorry, this page is not available any more, error 404.


    Den zweiten Inetget kann ich nicht testen da die bereitgestellte update.txt nur eine Zeile enthält, du aber

    [autoit]

    $line2 = FileReadLine($file, 2)
    ...
    InetGet("http://www.trap-making.bplaced.net/Test.ini" & $line2, $line2, 1, 0)

    [/autoit]

    denInhalt dieser Zeile mit dem Download verknüpft hast,

    mfg autoBert


  • http://trap-making.bplaced.net/update.txt

    Bei mir funktioniert es ... 8|
    Mit dem öffnen daran kann es nicht liegen .
    Ich probier es mal mit

    [autoit]

    HttpSetUserAgent

    [/autoit]

    Mit freundlichen Grüßen

    volle

  • Hallo volle,

    anscheinend hast du zwischenteizlich die Berechtigung für update.txt geändert, denn mittlerweile klappt das bei mir. Da diese aber nur 1 Zeile hat habe ich das Skript etwas angepasst und es läuft komplett korrekt durch:

    Updaten?
    [autoit]

    Dim $ver = "1.0.0"
    HttpSetUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10')
    InetGet("http://trap-making.bplaced.net/update.txt", @Scriptdir & "\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\update.txt", 0)
    $line = FileReadLine($file, 1)
    $line2 = FileReadLine($file, 2)
    $line2 = 1
    If $line = $ver Then
    MsgBox(64, "Kein Update", "Du hast die neuste Version: (" & $ver & ")")
    FileClose($file)
    FileDelete(@Scriptdir & "\update.txt")
    Else
    MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!")
    $fg = MsgBox(4, "Updaten?", "Möchtest du jetzt Updaten?")
    If $fg = 6 Then
    HttpSetUserAgent('Firefox')
    InetGet("http://www.trap-making.bplaced.net/Test.ini", @ScriptDir & "\Test.ini", 1, 0)
    MsgBox(0,"",FileRead(@ScriptDir & "\test.ini"))
    FileDelete(@Scriptdir & "\update.txt")
    EndIf
    EndIf

    [/autoit]
    kein Update notwendig
    [autoit]

    Dim $ver = "1.0.1"
    HttpSetUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10')
    InetGet("http://trap-making.bplaced.net/update.txt", @Scriptdir & "\update.txt", 1, 0)
    $file = FileOpen(@Scriptdir & "\update.txt", 0)
    $line = FileReadLine($file, 1)
    $line2 = FileReadLine($file, 2)
    $line2 = 1
    If $line = $ver Then
    MsgBox(64, "Kein Update", "Du hast die neuste Version: (" & $ver & ")")
    FileClose($file)
    FileDelete(@Scriptdir & "\update.txt")
    Else
    MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!")
    $fg = MsgBox(4, "Updaten?", "Möchtest du jetzt Updaten?")
    If $fg = 6 Then
    HttpSetUserAgent('Firefox')
    InetGet("http://www.trap-making.bplaced.net/Test.ini", @ScriptDir & "\Test.ini", 1, 0)
    MsgBox(0,"",FileRead(@ScriptDir & "\test.ini"))
    FileDelete(@Scriptdir & "\update.txt")
    EndIf
    EndIf

    [/autoit]

    mfg autoBert