Warten, bis das Installationsscript komplett fertig ist (Zwischen Installationsschitten pause einbau

  • Hallo zusammen,

    das hier ist mein erster Beitrag, deswegen wollte ich erstmal Hallo sagen :)
    Ich bin ein totaler Neuling, was AutoIt anbelangt. Wir benutzen bisher für Installationsscripte, in denen "geklicklert" werden musste, ein anderes Produkt (das Produkt hies CCM, hat Symantec aufgekauft.).

    Ich bin vom AutoIt ziemlich begeistert, da´s doch jede Menge kann...

    Im Moment baue ich für unsere Notebooks ein InstallationsScript zusammen, in der ziemlich viel ausgewählt werden muß.
    Die Software heißt "Wave Security Center". Das Problem hierbei ist: Es werden immer wieder Treiber während der Installation installiert. .Deswegen dauert die ganze Installation ziemlich lange (ist aber nicht weiter schlimm).
    Nur hab ich das Problem: Das AutoIt macht nicht ganz fertig (Das Icon unten geht irgendwann weg, und zwar bevor ich zum Fenster 7 komme).
    Die Installation nach dem Fenster 6 dauert ca. 8 Minuten.

    Ist es irgendwie möglich, dass ich hier eine art "pause" einbauen kann, bis ich zum nächsten Punkt komme?
    Das ganze würde schon sehr schön funktionieren...

    Vielen vielen Dank, und viele Grüße
    bosk

    PS: Anbei mein InstallationsScript:

    [autoit]


    ; Starte die Installation
    run("C:\Temp\Wave\Setup.exe")

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

    ; 1.Fenster
    winwait("EMBASSY Trust Suite by Wave Systems - InstallShield Wizard", "Willkommen bei InstallShield")
    Send("!W")

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

    ; 2.Fenster
    WinWait("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","Willkommen beim Wave-Installationsprogramm")
    Send("!W")

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

    ; 3.Fenster
    ControlClick("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","Benutzerdefinierte Konfiguration (nur für fortgeschrittene Benutzer)","[ID:1042]")
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","Benutzerdefinierte Konfiguration", "&Weiter >")
    Send("!W")

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

    ; 4.Fenster
    ControlClick("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "Alle Komponenten auswählen", "[ID:1031]")
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","", "&Weiter >")
    Send("!W")

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

    ; 5.Fenster
    ControlClick("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "Wählen Sie unter den folgenden Optionen aus:", "[ID:1035]")
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "", "&Weiter >")
    Send("!W")

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

    ; 6.Fenster
    WinWaitActive("Wave-Installationsprogramm", "Schließen Sie alle Windows-Anwendungen, und deaktivieren Sie alle Firewall-/Antispyware-Programme, bevor Sie fortfahren. Klicken Sie zum Fortfahren auf 'OK' oder zum Abbrechen der Installation auf 'Abbrechen'.", 10)
    ControlClick("Wave-Installationsprogramm", "", "[CLASS:Button; TEXT:OK; INSTANCE:1]", 15)

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

    ;) Ab hier ist rechts unten das Icon in der Taskleiste weg. Diese Installation dauert ca. 7 Minuten)

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

    ; 7.Fenster
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "Die ausgewählten Vorgänge wurden abgeschlossen. Klicken Sie auf 'Weiter', um fortzufahren.", 10)
    Send("!W")

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

    ; 8.Fenster
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "")
    Send("{ENTER}")

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

    ; 8.Fenster
    WinWaitActive("EMBASSY Trust Suite by Wave Systems - InstallShield Wizard", "InstallShield® Wizard hat EMBASSY Trust Suite by Wave Systems auf Version 1.2.0 aktualisiert", 10)
    Send("{ENTER}")

    [/autoit]

    5 Mal editiert, zuletzt von bosk (28. Juni 2007 um 19:50)

  • Also als erstes es gibt nicht nur den spoiler befehl sondern auch nehn autoit befehl...
    fas deine scripte bitte in beides da hatt das code higligtning
    aber zu deinem prob wenn es nur um ne pause geht musste entscheiden wie lange^^
    also da gibt es den befehl

    Sleep(500)

    mit diesem wird dein programm für 0.5 sekunden paussiert^^
    also für 10 minuten pause müsste das dann so aussehen
    Sleep(600000)
    dan wären das ca. 10 min pause (kann sein das ich mich verrechnet habe aber merk dir 1000 = 1 sekunde)
    also so kannste ne pause machen^^

  • Hallo WoW-Unit,

    vielen vielen Dank für Deine Antwort.
    Ich hab den Spoiler-Befehl schon rausgenommen.. Sorry...

    Jetzt hab ich noch ne Frage zu dem Sleep-Befehl:

    Der kommt praktisch hier rein, oder?

    Nochmals vielen vielen Dank, und viele Grüße
    Bosk

    PS: Vielleicht weißt du das auch noch: Ich müsste ganz am Anfang noch ne Variable für unseren %Installationserver% setzen.. Geht das?


    [autoit]


    ; 6.Fenster
    WinWaitActive("Wave-Installationsprogramm", "Schließen Sie alle Windows-Anwendungen, und deaktivieren Sie alle Firewall-/Antispyware-Programme, bevor Sie fortfahren. Klicken Sie zum Fortfahren auf 'OK' oder zum Abbrechen der Installation auf 'Abbrechen'.", 10)
    ControlClick("Wave-Installationsprogramm", "", "[CLASS:Button; TEXT:OK; INSTANCE:1]", 15)

    Sleep(600000)

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

    ; 7.Fenster
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "Die ausgewählten Vorgänge wurden abgeschlossen. Klicken Sie auf 'Weiter', um fortzufahren.", 10)
    Send("!W")

    [/autoit]

    2 Mal editiert, zuletzt von bosk (28. Juni 2007 um 19:55)

  • soweit ich das verstanden habe iss dein problem nach zeile 7 Oder ?
    wenn ja muss dein script so aussehen(ich baue ein paar kleine sleeps mit ein falls jemand nen schnelleren rechner hatt^^)

    Spoiler anzeigen
    [autoit]


    ; Starte die Installation
    run("C:\Temp\Wave\Setup.exe")

    ; 1.Fenster
    winwait("EMBASSY Trust Suite by Wave Systems - InstallShield Wizard", "Willkommen bei InstallShield")
    Send("!W")
    Sleep(500)

    ; 2.Fenster
    WinWait("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","Willkommen beim Wave-Installationsprogramm")
    Send("!W")
    Sleep(500)

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

    ; 3.Fenster
    ControlClick("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","Benutzerdefinierte Konfiguration (nur für fortgeschrittene Benutzer)","[ID:1042]")
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","Benutzerdefinierte Konfiguration", "&Weiter >")
    Send("!W")
    Sleep(500)

    ; 4.Fenster
    ControlClick("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "Alle Komponenten auswählen", "[ID:1031]")
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems","", "&Weiter >")
    Send("!W")
    Sleep(500)

    ; 5.Fenster
    ControlClick("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "Wählen Sie unter den folgenden Optionen aus:", "[ID:1035]")
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "", "&Weiter >")
    Send("!W")
    Sleep(500)

    ; 6.Fenster
    WinWaitActive("Wave-Installationsprogramm", "Schließen Sie alle Windows-Anwendungen, und deaktivieren Sie alle Firewall-/Antispyware-Programme, bevor Sie fortfahren. Klicken Sie zum Fortfahren auf 'OK' oder zum Abbrechen der Installation auf 'Abbrechen'.", 10)
    ControlClick("Wave-Installationsprogramm", "", "[CLASS:Button; TEXT:OK; INSTANCE:1]", 15)
    Sleep(500)

    ; 7.Fenster
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "Die ausgewählten Vorgänge wurden abgeschlossen. Klicken Sie auf 'Weiter', um fortzufahren.", 10)
    Sleep(600000)
    Send("!W")
    Sleep(500)

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

    ; 8.Fenster
    WinWaitActive("Wave-Installationsprogramm - Dell Embassy Trust Suite by Wave Systems", "")
    Send("{ENTER}")
    Sleep(500)

    ; 8.Fenster
    WinWaitActive("EMBASSY Trust Suite by Wave Systems - InstallShield Wizard", "InstallShield® Wizard hat EMBASSY Trust Suite by Wave Systems auf Version 1.2.0 aktualisiert", 10)
    Send("{ENTER}")

    [/autoit]

    Schätze mal so muss das gehen aber es wäre nützlich wenn du noch den sinn des scriptes besser erläutern würdest^^
    aslo
    die zeile 7 wartet bis die installation fertig ist und sendet dann ein w Oder ?
    wenn ja kannste den script jetzt so benutzen^^

  • Hi Bosk!

    Ich kenne mich nicht so gut mit installationsskripten und den dazugehörigen Funktionen aus. Ich würde aber sagen, dass Du lieber mal prüfen solltest, ob die ControlID in der Funktion ControlClick stimmt. Dass AutoIt nach einer Zeit einfach Schluss macht, ist ziemlich unwahrscheinlich.
    Es scheint dort eher ein Fehler im Deinem Skript vorzuliegen, wenn ich mich nicht vertue. Es spricht auch dafür, dass es wohl immer zum selben Zeitpunkt im Skript auftritt.

    Gruß

    chris

  • Hallo zusammen,

    nochmals vielen vielen Dank an euch....
    Der Sinn von diesem ganzen Script ist folgender:
    Wir benutzen bei uns in der Firma eine Software-Verteilung. Leider ist bei dieser Softwareverteilung kein Programm dabei, mit der ich Installationen "aufzeichnen" kann.
    Hierbei bin ich auf AutoIt gestoßen...

    Ich kann mit unserer Softwareverteilung nämlich sagen --> Rufe mir das Programm "Installation.exe" auf, und führ es aus.....

    Genau das will ich machen. Diese Installation von dieser Software kommt dann auf ca. 80 Clients automatisch drauf (das mache ich alles mit der Softwareverteilung).

    Das Problem ist bei dieser Software: Es ist eigentlich eine InstallShield-Installation, aber leider kann ich hier keinen Silent-Parameter mitgeben.
    Diese Software installiert viele viele Programme und Treiber. Nach dem 6. Fenster rödelt das Notebook für ca. 10 Minuten. Hier werden alle Treiber und Programme installiert..
    Deswegen müsste ich AutoIt sagen: Warte hier auf den nächsten Befehl...

    Ich probiers morgen mal mit dem Sleep-Befehl...

    Vielen Dank an euch für weitere Vorschläge
    bosk