Schleife in Installationsskript

  • Hi zusammen,

    auch nach mehrmaligem lesen des Tutorials krieg ich einfach nicht in die Birne wie das mit der Schleife funktionieren soll, bzw. woher mein Skript weiss ob eine Installation nu abgeschlossen ist oder nicht...

    Ich möchte z.B. den Ccleaner per Skript installieren ( Was dank euch endlich funzt :D ) und wenn der installiert ist, soll als nächstes.... z.B. der Adobe Reader installiert werden....
    Da ich gern möchte das das Skript dies der Reihe nach erledigt, muss ich es doch irgendwie einstellen, das die Ccleanerinstallation am Ende dem Skript sacht "Hey feddich, kann weitergehen" oder ?

    Grüße

    Mike

    Einmal editiert, zuletzt von Mike280399 (22. September 2011 um 08:48)

  • Bei 2 nicht, richtig, nur wenn ich ca. 10 Aktionen nacheinander ausführen möchte und sicher gehen will das die nächste erst beginnt wenn die vorherige abgeschlossen ist, brauch ich `ne Schleife oder ?

  • Zitat

    Bei 2 nicht, richtig, nur wenn ich ca. 10 Aktionen nacheinander ausführen möchte und sicher gehen will das die nächste erst beginnt wenn die vorherige abgeschlossen ist, brauch ich `ne Schleife oder ?


    Wenn dein AutoIt Interpreter aus irgendeinem Grund alle im Script enthaltenen Befehle simultan an den Prozessor schickt, dann schon. Ansonsten nicht, da die Befehle nacheinander ausgeführt werden.

  • Hmmm.....
    Wie soll ich`s nur erklären....

    Blödes Beispiel: Ich starte per Skript die Windows Defragmentierung und der nächste Schritt soll erst erfolgen wenn diese abgeschlossen ist.

    Kann man das umsetzen ??
    Müsste man wenn ich`s richtig sehe das letzte Fenster ( Fertigmeldung ) abwarten und damit dann den nächsten Schritt anschubsen oder ??

  • Zitat

    Müsste man wenn ich`s richtig sehe das letzte Fenster ( Fertigmeldung ) abwarten und damit dann den nächsten Schritt anschubsen oder ??


    Ja. Zum Beispiel mit WinWait o.Ä. (je nachdem...). Aber du brauchst nicht unbedingt eine Schleife, außer du willst zum Beispiel kontinuierlich den Titel oder Text des Fensters überprüfen.
    PS: Unterstützt der Adobe Reader keine Silent Installation?

  • RunWait .....
    oder
    ShellExecuteWait
    Das sind die Befehle der Stunde ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Hmm funzt nich so wie es soll...
    Ein Auszug:

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

    ; Ausführen RegistryBackup
    ShellExecute("Regbackup.cmd")

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

    ; Installation von Ccleaner
    ShellExecuteWait("ccsetup310_slim.exe")
    WinWaitActive("Installer Language","Please select a language.")
    Send("{ENTER}")

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

    Schreibe ich ShellExecuteWait so wie in dem Beispiel beginnt die Installation nicht... sprich ENTER wird net gedrückt :)
    Schreibe ich ShellExecute beginnt die Installation bevor die CMD-Datei durch is...

    8|

    Einmal editiert, zuletzt von Mike280399 (21. September 2011 um 23:56)

  • Hallo Mike280399,

    versuch es einmal so:

    Spoiler anzeigen
    [autoit]

    ; Ausführen RegistryBackup und warten bis fertig setzt voraus das RegBackUp.cmd sich beendet sonst geht danach nichts mehr
    ShellExecuteWait("Regbackup.cmd")

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

    ; Installation von Ccleaner
    ShellExecute("ccsetup310_slim.exe")
    WinWaitActive("Installer Language","Please select a language.")
    Send("{ENTER}")

    [/autoit]

    mfg autoBert