Umbau eines Skriptes

  • Ich habe nach langen Suchen endlich einen "Updater" gefunden, welchen meinen Wünschen entspricht... Leider ist dies in einem Backupscript eingebaut...

    Gedacht war der Updater so:

    1. Bei Aufruf wird geprüft, wenn das letzte mal geprüft wurde... (soll spätestens aller 7 Tage geprüft werden), wenn z.b. 8 Tag, dann erneute Updateprüfung
    2. Updater hat 3 Möglichkeiten (Funktionen) wo er prüfen kann (chip, ...) wenn Möglichkeit 2 höher als installierte ist und auch höher als Möglichkeit 1 +2 dann soll er die Möglichkeit 2 downloaden. (HIer soll Dateityp, letztes prüfdatum,Größe, Hashwert, Version geprüft sein) Je nach Dateityp (.exe,.zip.rar.msi.dll,...) sollte eine entsprechende Funktion die Möglichkeit 2 zum installieren vorbereiten.
    2.1. Updater prüft natürlich eine vorhandene .ini datei auf dem ftp server (falls diese beim 1. mal nicht vorhanden ist, sollte diese auto. angelegt werden).
    3. Nun startet die Möglichkeit 2 aus dem Temp Ordner und die Installation beginnt (wird selbst übernommen)
    4. zum Abschluss werden die neuen Daten in die .ini auf dem ftp space geschrieben und jeglicher "müll" wird gelöscht

    Wer hat hier Lust und Zeit, sein Können zu beweisen?

    Danke.

    Spoiler anzeigen

    Keine Veröffentlichung mehr gewünscht.

    3 Mal editiert, zuletzt von timyboy (1. Dezember 2012 um 06:52)

  • Nicht nur das der Quellcode oben aussieht als hätte man ihn 3mal durch 10 verschiedene Obfuscatoren ( ein Wort ^^ ) gequetscht, nein dazu kommt noch, dass dies dein gefühlt 7ter Thread zu deinem "Updater" ist... :thumbdown: Könnte bitte ein Moderator mal die anderen löschen?
    Also bitte füg den Quellcode nocheinmal ein, während du dich im "Quellcode-Tab" befindest... Der heißt nämlich nicht umsonst so. ;)

    LG
    Christoph :)

  • Wer hat hier Lust und Zeit, sein Können zu beweisen?


    Zuerst solltest du einmal beweisen dass du ernsthaft diesen Updater geändert haben willst und die nötige Zeit investieren den Quellode richtig formatieren. Alternativ kannst du ihn natürlich auch ins Forum "mit Gegenleistung verschieben lassen.

    Danach formulierst du bitte noch was geändert werden soll.

    Da ich bezweifle dass du ihn diesem Unterforum jemanden findest der dir den Arm aus der Sonne legt solltest du es sebst versuchen.

    Edit: egal ob du es selbst machst oder jemand anderes. Dieser Hinweis:

    Zitat

    (c) by CyRoX (cy3bc.bplaced.net)
    uses 7-Zip (7-zip.org)
    The publication of my programs (including codes and parts of the programs) without permission
    is not allowed. You can send an email to cy3bc@live.de to ask for an approval!

    ist auf jeden Fall zu beachten

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (30. November 2012 um 21:11)

  • hi,
    also manchmal komme ich mir hier vor wie bei ein paar alte jungfern, welche über alles und jeden herreden... und wenn ich den 100 thread zum thema updater starte, vielleicht nehme ich somit einen neuen user die schei sich hier anzumelden, da er befürchten muss, bei der 2. frage (welche sich meist ergibt bei den meisten antworten von gewissen usern)....

    und ja, den quellcode hatte ich nicht nochmals kontrolliert... ist aber bereinigt.. ;)
    bevor ich es vergesse, habe den inhaber des scriptes um erlaubnis angefragt, falls diese negativ sein sollte, so kann dies ja immerhin als gedankenanstoß helfen... ;)
    was ein profi sowieso machen würde... aber... naja

  • Hi,

    du kannst Codeteile von FT-Backup verwenden aber nur unter expliziter Nennung meines Namens (Cyrox @AutoIt.de). Allerdings solltest du demnächst von Anfang an nachfragen und die Lizenzinformationen respektieren.
    Auch mehr Eigeninitiative wäre nicht schlecht... Gut zum AutoIt lernen ist z.B. das Buch von peethebee oder generell die AutoIt-Hilfe zu lesen.
    Da mein Backupskript aber noch etwas unleserlich geschrieben ist, ist es ziemlich schwer für andere, daraus die nötigen Codeinformationen für ein Updateprogramm zu extrahieren.
    Ich habe mal das Grundgerüst geschrieben, das auf den in FT-Backup eingebauten Updateprozess beruht. Dieser ist sehr einfach gehalten, es wird nur verglichen, ob die aktuelle Dateiversion anders ist als die installierte. Du kannst das Update-Beispiel ja selbst noch weiter anpassen/ausbauen:

    Update Beispiel
    [autoit]

    ; Example written by Cyrox (@AutoIt.de)

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

    #NoTrayIcon
    Const $sTitle = 'Updater' ; => Name of the window
    Const $sVersion = '0.7.1b' ; => Installed program version
    Const $sCheckURL = 'http://cy3bc.bplaced.de/data/ftb-version.tmp' ; => Check URL for update
    Const $sDownloadURL = 'http://bit.ly/FT-Backup' ; => Download URL for the update

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

    Global $hGUI, $hUpdate, $hVersion
    $hGUI = GUICreate($sTitle, 171, 92)
    $hUpdate = GUICtrlCreateButton('Check for Update!', 30, 40, 107, 25)
    GUICtrlCreateLabel('Installed:', 32, 16, 46, 17)
    $hVersion = GUICtrlCreateLabel($sVersion, 84, 16, 30, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(5)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3 ; = $GUI_EVENT_CLOSE
    Exit
    Case $hUpdate
    _StartUpdateCheck()
    EndSwitch
    WEnd

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

    Func _StartUpdateCheck()
    Local $sNewVersion = _CheckVersion($sCheckURL, $sVersion)
    If @error Then
    _GUIMsg('Could not connect to update server.' & @CRLF & 'Check internet connection or try again later.', $sTitle, 16)
    ElseIf $sNewVersion <> $sVersion Then
    $iMsg = _GUIMsg('A new version (v' & $sNewVersion & ') is available! Do you want to download it?', $sTitle, 36)
    If $iMsg = 6 Then
    ShellExecute($sDownloadURL)
    EndIf
    Else
    _GUIMsg('No update available.')
    EndIf
    EndFunc ;==>_StartUpdateCheck

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

    Func _CheckVersion($sCheckURL, $sInstalledVersion, $sUserAgent = 'DefaultUpdate')
    Local $sNewVersion
    HttpSetUserAgent($sUserAgent)
    $sNewVersion = BinaryToString(InetRead($sCheckURL, 1))
    If @error Then
    Return SetError(1, Default, 0)
    ElseIf $sNewVersion <> $sInstalledVersion Then
    Return $sNewVersion
    Else
    Return $sNewVersion
    EndIf
    EndFunc ;==>_CheckVersion

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

    Func _GUIMsg($sMsgText, $sMsgTitle = $sTitle, $iMsgFlag = 64)
    Local $iMsg
    WinSetTrans($hGUI, '', 200)
    $iMsg = MsgBox($iMsgFlag, $sMsgTitle, $sMsgText, 0, $hGUI)
    WinSetTrans($hGUI, '', 255)
    Return $iMsg
    EndFunc ;==>_GUIMsg

    [/autoit]


    Die Konstanten musst du logischerweise noch anpassen (aktuell sind die Daten von FT-Backup eingetragen).
    Auf dem (deinem) Server muss eine Datei mit dem Inhalt der aktuellen Version liegen, der Link zu dieser Datei muss logischerweise in der Konstante $sCheckURL eingetragen werden.

    Edit:

    Zitat

    bevor ich es vergesse, habe den inhaber des scriptes um erlaubnis angefragt, falls diese negativ sein sollte, so kann dies ja immerhin als gedankenanstoß helfen...
    was ein profi sowieso machen würde... aber... naja

    Nach erneutem Lesen frage mich gerade, was du uns mit dieser Aussage sagen möchtest...
    Achja und eigenartig finde ich auch, dass du schon einige Lösungsvorschläge bekommen hast, allerdings - wie name22 schon geschrieben hat (unter meinem Beitrag) - nie darauf eingegangen bist...

    5 Mal editiert, zuletzt von CyRoX (1. Dezember 2012 um 13:45)

  • So langsam komm ich mir ein wenig veralbert vor... Du hast bis jetzt wie viele Threads zum selben Thema? 3, 4?
    In keinem deiner Threads bist du auf Fragen bezüglich deines Projekts eingegangen, nachdem klar war, dass es möglicherweise mit den AGB des Anbieters Probleme geben könte auf den du diesen Updater umschreiben wolltest. Muss ich hier jetzt nochmal die selbe Frage stellen, oder geht es dieses Mal tatsächlich um etwas anderes?

  • Nach lesen von:

    du kannst Codeteile von FT-Backup verwenden aber nur unter expliziter Nennung meines Namens (Cyrox @AutoIt.de). Allerdings solltest du demnächst von Anfang an nachfragen und die Lizenzinformationen respektieren.


    muss ich feststellen dass dies

    bevor ich es vergesse, habe den inhaber des scriptes um erlaubnis angefragt,

    eine glatte Lüge ist. Ich hbe bei deiner Warheitsliebe und dem mangeldem Respekt vor anderer Leute Eigentum (Urheberrecht)auch starke Zweifel ob du dich an die Auflagen (Namensnennung!) jemals halten wirst.

    zu:

    also manchmal komme ich mir hier vor wie bei ein paar alte jungfern, welche über alles und jeden herreden... und wenn ich den 100 thread zum thema updater starte, vielleicht nehme ich somit einen neuen user die schei sich hier anzumelden, da er befürchten muss, bei der 2. frage (welche sich meist ergibt bei den meisten antworten von gewissen usern)....

    dein 1. Thema dazu war nicht mit den Forenregeln kompatibel, in weiteren wurden dir Lösungswege aufgezeigt. Jedes weitere Thema dazu ist Ressourcenverschwendung.

    Da du auch hier nur einen suchst der dir den Arm aus der Sonne legt solltest du es unter "Mir Gegenleistung" veröffentlichen, denn es macht deutlich mehr Arbeit als du dir vorstellst.

    mfg autoBert

  • Zitat von autoBert

    eine glatte Lüge ist. Ich hbe bei deiner Warheitsliebe und dem mangeldem Respekt vor anderer Leute Eigentum (Urheberrecht)auch starke Zweifel ob du dich an die Auflagen (Namensnennung!) jemals halten wirst.


    Habe eben eine Mail von ihm gelesen, in der er nach Erlaubnis gefragt hat.
    Also eine Lüge ist das nicht, diesen Satz:

    Zitat

    Du kannst Codeteile von FT-Backup verwenden aber nur unter expliziter Nennung meines Namens (Cyrox @AutoIt.de). Allerdings solltest du demnächst von Anfang an nachfragen und die Lizenzinformationen respektieren.


    habe ich geschrieben, da er ja schon vorher den Code in seinen Post eingefügt hatte, ohne zu fragen.
    Deshalb schrieb ich "Allerdings solltest du demnächst von Anfang an nachfragen".
    Der Threadersteller scheint aber nach Lesen weiterer Posts von ihm dennoch nicht sehr viel Wert auf Urheberrechte zu legen...

    Einmal editiert, zuletzt von CyRoX (1. Dezember 2012 um 14:38)

  • @CyRoX , Vielen Dank für die positive Rückmeldung und dem Beispiel, sowie der Aufklärung gegenüber autoBert´s Äußerung.

    autoBert, Menschen können sich auch Irren und man sollte mit solchen Äußerungen etwas bedeckt halten. Und ja, es war mir nicht bewusst das man für eine Hilfestellung bei dessen Beispiel den Namen mit nennen muss, mein Fehler! Aber man lernt ja immer dazu.
    name22, Das brauchst Du nicht, denn was soll man da noch weiter eingehen, wenn dies nicht möglich ist.... Nun habe ich nach anderen Formen gesucht um meine Idee zu verwirklichen..trotzdem Danke.

  • Echt jetzt?

    Wenn man ein Werk, was auch immer es sei, von jemand anderen nimmt, dann erwähnt man es auch, da sonst immer der Eindruck ensteht, dass es sich allein um dein Werk handle.

    Diese Vorfälle häufen sich ja in letzter Zeit. Ich wünschte ich könnte sagen: "Ich kenne hier nur einen der Art", aber leider ist das nicht mehr der Fall. Aber wenigstens hast du es jetzt, nach 3 Threads eingesehen. Ich meine das nicht gerade positiv.

    Beim Programmieren geht es immer darum, sehr viel Eigeninitiaitve zu zeigen, und wenn du ein allgemeines Problem mit einem allgemeinen Programm von dir ("") hast, dann reicht dazu genau 1 Thread. Dort kann man auch immer wieder Fragen zu den endlos gleichen Thema stellen. Unzählige Threads beschäftigen sich mit dem Thema, welches dich beschäftigt. Auch wenn es etwas dauert, so kann man sih doch etwas Mühe mit der Sache geben.

    Die Sache hatte nie etwas mit "sich irren" zu tun, sondern einfach mit übertreiben. Davon gab es hier, in den Threads, ganz schön viel.

    Wenn dir jemand komisch kommt, dann Schnee drüber, Schwamm von gestern! Du musst nur auf die wichtigen Beiträge eingehen, das ist dann vernünftig. Aber tu das auch, denn hier, in diesen Themen, war es oft nicht der Fall.

  • autoBert, Menschen können sich auch Irren und man sollte mit solchen Äußerungen etwas bedeckt halten. Und ja, es war mir nicht bewusst das man für eine Hilfestellung bei dessen Beispiel den Namen mit nennen muss, mein Fehler! Aber man lernt ja immer dazu.


    Ja, Menschen können sich irren. Meine Schlussfolgerung war falsch und dafür entschuldige ich mich.

    Aber Unwissenheit schützt vor Strafe nicht. Du kannst von Glück reden, dass CyRoX die ungenehmigte Veröffentlichung seines Skriptes auf sich beruhen lässt und es dir nachträglich erlaubt hat.

    mfg autoBert