zip-Datei downloaden und nach C: entpacken

  • Ich habe ein Projekt begonnen (übrigens mein erstes), wobei eine zip-Datei von unserer GildenHomepage automatisch runtergeladen und diese dann nach C: entpackt werden soll. Alles Weitere (Installation, Ordner verschieben, etc.) bekomme ich hoffentlich selbst hin.

    Es soll später so sein, dass alle Gildenmitglieder einfach die autoit.exe downloaden, starten und sich dann alle Einstellungen und Installationen von selbst erledigen. Die Überprüfung und Installation von .NET Framework habe ich soweit schon fertig; es soll noch die Installation eines kleinen Tools folgen und ein Ordner (aus der zip-Datei) verschoben werden. Danach sollen alle runtergeladenen Dateien noch gelöscht werden.

    Kann mir bitte jemand sagen, wie man mit AutoIt ein automatisches Entpacken in einen bestimmten Ordner bewerkstelligt?

    Danke schonmal...

    • Offizieller Beitrag
  • nur leider ist englisch überhaupt nicht meine Lieblingssprache.

    "_ZipUnZip($ZipFile,$Dest) UnZips the archive to the specified folder."

    scheint ja schonmal der richtige Befehl zu sein. Aber soweit ich es verstanden habe muss am Programm selbst noch etwas verändert werden.?

    Kann mir das bitte jemand mal recht simpel und auf deutsch erklären?

    THX vielmals

  • nur leider ist englisch überhaupt nicht meine Lieblingssprache.


    Schon mal das Internet nach Übersetzungstools durchsucht? Google hat auch ein Sprachtool irgendwo, da kann man sich meine ich englische Seiten komplett übersetzen lassen.
    Bedeutet nicht das wir nicht helfen möchten, aber soweit sollte man schon das INet auch ausnutzen.

    Alina

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Die Übersetzungen von Google sind wirklich misserabel, aber ich werde mich dann mal dransetzen und versuchen erstmal alleine damit klarzukommen.

    In dem downloadbaren zip-File waren nur so viele kleine Unterordner und dateien. ich weiss nicht genau was ich damit machen soll. Ich werde es jedenfalls erstmal alleine versuchen und mich dann später wieder melden...

    Momentan sitze ich an einem PC ohne AutoIt. Im Ordner "bin" der zip-Datei befinden sich 3 au3-Dateien. Binde ich damit eventuell die ZIP-Funktionen in AutoIt ein?

    Legatos

    Einmal editiert, zuletzt von Legatos (9. Januar 2009 um 05:03)

  • Danke schonmal für die vielen Infos.

    So wie ich es bis hierhin verstanden habe wird die zip-Funktion dann erst durch die Einbindung von zip.au3 hergestellt. Dann müsste ja theoretisch jeder User unserer Gilde sich 2 Dateien downloaden. Oder kann man die zip.au3 über den Befehl FileInstall einbinden? Muss ich mein script einfach nach dem Download um

    #include<zip.au3>
    _Zip_UnzipAll('c:\dein.zip', 'c:\Unzip_Test', 4) ; quelle, ziel, flag
    ConsoleWrite(@error & @CRLF)

    erweitern?

    Wie gesagt - es soll eigentlich so sein, dass sich jeder nur eine kleine .exe runterlädt (die die ich erstellen möchte). Durch deren Start soll eine ZIP-Datei (ohne passwort) von unserer Gildenhomepage runtergeladen und entpackt werden. Danach folgen daraus im Bedarfsfall die nötige Installation von .NET-Framework, die Installation des Tool "UniUploader" und das Kopieren eines Ordners nach C: automatisch. Am Ende sollen die ZIP-Datei und der entpackte Ordner wieder gelöscht werden.

    Soweit bekomme ich bestimmt auch alles hin, nur diese Sache mit dem Entpacken stellt mich echt vor Probleme, da ich quasi erst vor 3 tagen über AutoIt gestolpert bin. Ich habe auch schon nach deutscher Hilfe, die auch ein Anfänger versteht gesucht, bin aber bisher leider nicht fündig geworden.

    Grüße

    Legatos

    • Offizieller Beitrag

    Hi,

    wenn Autoit nichts machen soll außer entpacken, dann kannst du auch gleich ne selbstextrahierende Exe bauen mit Winzip oder ...
    Wenn Autoit als exe ausgeliefert wird, dann kannst du jegliche Datei mit in die exe packen lassen und mit FileInstall auf den Rechner legen und dann nutzen.

    Include ist dazu da einfach in eine andere Datei zu gucken. Du musst dir aber vorstellen als wäre alles in einer. Somit wird die zip.au3 durch den include Befehl beim kompilieren automatisch deiner exe hinzugefügt. Was sollen deine Leute ausführen? exe oder au3?

    Mega

  • ... .exe-Datei (die ich ja mit AutoIt erstellen möchte) auf der Homepage als Download angeboten werden. Durch diese soll dann, wie schon oben beschrieben, eine zip-Datei von der HP auf Laufwerk C: geladen werden. Diese enthält dann alle weiteren benötigten Daten (.NET Framework-Installer, UniUploader-Installer, den zu verschiebenden Ordner). Aber um auf diese Daten zugreifen zu können muss dann ja die zip-Datei erstmal entpackt werden (z.B. auf C:).

    Ich muss ja davon ausgehen, dass die User keine benötigten Daten schon haben und möchte alle Daten in dieser zip-Datei zur Verfügung stellen. Und da der gesamte Vorgang der Einrichtung etwas umständlich ist möchte ich es den Usern einfach machen und automatisieren.

    Einmal editiert, zuletzt von Legatos (9. Januar 2009 um 21:09)

  • dann mach doch entweder(wie Xeno gesagt hat) ne selbstenpackende datei (mit winrar/winzip z.B.)
    oder löse es einfach mit FileInstall("source", "dest")
    Das mit der Zip datei ist sehr umständlich^^

    Padmak

  • Ich glaube ich habe eine Möglichkeit gefunden.

    Könnt ihr bitte mal einen Blick darauf werfen und mir sagen ob das so funktionieren könnte?

    [autoit]

    DirCreate("C:\MoonRoster\CharakterProfiler") ; Erstellung des Ordners für die weitere Installation
    DirCreate("C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler") ;Erstellung des Ordners für das AddOn 'CharacterProfiler'
    FileInstall("D:\MoonRoster\dotNetFx35setup.exe", "C:\MoonRoster\dotNetFx35setup.exe")
    FileInstall("D:\MoonRoster\UniUploader_2.6.8_Moons.exe", "C:\MoonRoster\UniUploader_2.6.8_Moons.exe")
    ; Eintragung der Dateien für das AddOn 'CharacterProfiler'
    FileInstall("D:\MoonRoster\CharacterProfiler\CharacterProfiler.lua", "C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler\CharacterProfiler.lua")
    FileInstall("D:\MoonRoster\CharacterProfiler\CharacterProfiler.toc", "C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler\CharacterProfiler.toc")
    FileInstall("D:\MoonRoster\CharacterProfiler\localization.lua", "C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler\localization.lua")
    FileInstall("D:\MoonRoster\CharacterProfiler\rpgo.core.lua", "C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler\rpgo.core.lua")
    FileInstall("D:\MoonRoster\CharacterProfiler\rpgo.lib.lua", "C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler\rpgo.lib.lua")
    ; Installation von .NET Framework
    If FileExists("C:\Programme\Microsoft.NET") Then ; Überprüfung ob .NET Framework bereits installiert ist
    MsgBox(64, "Legends of Moon", "Microsoft .NET Framework ist bereits installiert", 4)
    Else
    Run("C:\MoonRoster\dotNetFx35setup.exe")
    WinWaitActive("Microsoft .NET Framework 3.5-Setup", "Willkommen")
    Send("+{TAB}")
    Send("{SPACE}")
    Send("{ENTER}")
    WinWaitActive("Microsoft .NET Framework 3.5-Setup", "Setup ist abgeschlossen")
    Send("{ENTER}")
    EndIf
    ;Installation des UniUploaders
    If FileExists("C:\Programme\UniUploader") Then ; Überprüfung ob der UniUploader bereits installiert ist
    MsgBox(64, "Legends of Moon", "Der UniUploader ist bereits installiert", 4)
    Else
    Run("C:\MoonRoster\UniUploader_2.6.8_Moons.exe")
    WinWaitActive("Installer Language", "Please select a language")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Willkommen beim Installations")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Lizenzabkommen")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Zielverzeichnis auswählen")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "Startmenü-Ordner bestimmen")
    Send("{ENTER}")
    WinWaitActive("UniUploader Installation", "UniUploader wurde auf Ihrem Computer installiert")
    Send("{ENTER}")
    EndIf
    ;Löschen der nicht mehr benötigten Dateien
    DirRemove("C:\MoonRoster" 1)

    [/autoit]

    Vielen Dank

    Legatos

    • Offizieller Beitrag

    Probier es doch einfach aus. Wie sollen wir das jetzt nachprüfen ?

  • C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler <-- Da fehlt überall ein Backslash. Außerdem muss das Spiel in diesem Ordner installiert sein! Ist das immer der Fall? Ansonsten über Registry auslesen.

    DirRemove("C:\MoonRoster" 1) <-- Da fehlt ein Beistrich ;)


    Zitat von Raupi

    Probier es doch einfach aus. Wie sollen wir das jetzt nachprüfen ?

    Genau das wollte ich auch sagen ;_)

  • ...nachdem ich alles noch ein wenig umgeschrieben habe. Aber Probleme macht mir nun die Zeile:

    DirCreate("C:Programme\World of Warcraft\Interface\AddOns\CharakterProfiler")

    Der Ordner wird nicht unter C: erstellt sondern komischerweise immer in dem Ordner in welchem die .au3 bzw .exe liegt und gestartet wird.

    Muss ich hier etwas anderes schreiben? ich habe doch eigentlich genau angegeben dass der Ordner unter C: erstellt werden soll.

    danke schonmal

    Legatos

  • [autoit]

    DirCreate("C:\Programme\World of Warcraft\Interface\AddOns\CharakterProfiler")

    [/autoit]