• DivX 6

    Spoiler anzeigen
    [autoit]


    ;|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    ;| Installation von: DivX 6
    ;|
    ;| Autor: Jens Ottersberg
    ;|
    ;| Getestet mit: DivXInstaller.exe
    ;|___________________________________________________________________________________________________________________________________

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

    #RequireAdmin
    #NoTrayIcon

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

    #include "..\..\funktionen.au3"

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

    ;Hauptprogramm
    $parameter = ''
    $search = FileFindFirstFile(@ScriptDir & "\*.exe")
    $datei = FileFindNextFile($search)
    FileClose($search)
    ;Setup starten
    ShellExecute(@ScriptDir & "\" & $datei, $parameter)
    ;Sprachenauswahl
    WinWait("Sprachenauswahl")
    WinActivate("Sprachenauswahl")
    WinWaitActive("Sprachenauswahl")
    ControlClick("Sprachenauswahl","","Button1")
    ;Willkommensbildschirm
    WinWait("DivX","Willkommen")
    WinActivate("DivX","Willkommen")
    WinWaitActive("DivX","Willkommen")
    ControlClick("DivX","Willkommen","Button2")
    ;Lizenz zustimmen
    WinWait("DivX","Lizenzabkommen")
    WinActivate("DivX","Lizenzabkommen")
    WinWaitActive("DivX","Lizenzabkommen")
    ControlClick("DivX","Lizenzabkommen","Button4")
    ControlClick("DivX","Lizenzabkommen","Button2")
    ;Lizenznachtrag zustimmen
    WinWait("DivX","Nachtrag")
    WinActivate("DivX","Nachtrag")
    WinWaitActive("DivX","Nachtrag")
    ControlClick("DivX","Nachtrag","Button4")
    ControlClick("DivX","Nachtrag","Button2")
    Sleep(2000)
    ;keine neue Version herunterladen
    If WinExists("DivX","Update") Then
    WinActivate("DivX","Update")
    WinWaitActive("DivX","Update")
    ControlClick("DivX","Update","Button5")
    ControlClick("DivX","Update","Button2")
    EndIf
    ;alles installieren
    WinWait("DivX","Komponenten")
    WinActivate("DivX","Komponenten")
    WinWaitActive("DivX","Komponenten")
    ControlClick("DivX","Komponenten","Button2")
    ;Zielverzeichnis
    WinWait("DivX","Zielverzeichnis")
    WinActivate("DivX","Zielverzeichnis")
    WinWaitActive("DivX","Zielverzeichnis")
    ControlClick("DivX","Zielverzeichnis","Button2")
    Sleep(2000)
    ;Firefox mit Google Toolbar nicht installieren
    If WinExists("DivX","DirectX") Then
    WinActivate("DivX","Google Toolbar")
    WinWaitActive("DivX","Google Toolbar")
    ;Folgende Zeile auskommentieren um Toolbar zu installieren
    ControlClick("DivX","Google Toolbar","Button5")
    ControlClick("DivX","Google Toolbar","Button2")
    EndIf
    ;keinen Newsletter bestellen
    WinWait("DivX","Newsletter")
    WinActivate("DivX","Newsletter")
    WinWaitActive("DivX","Newsletter")
    ControlClick("DivX","Newsletter","Button2")
    Sleep(2000)
    ;nicht zur DirectX-Webseite
    If WinExists("DivX","DirectX") Then
    WinActivate("DivX","DirectX")
    WinWaitActive("DivX","DirectX")
    ControlClick("DivX","DirectX","Button5")
    ControlClick("DivX","DirectX","Button2")
    EndIf
    WinWait("DivX","Einrichtung abgeschlossen")
    WinActivate("DivX","Einrichtung abgeschlossen")
    WinWaitActive("DivX","Einrichtung abgeschlossen")
    ControlClick("DivX","Einrichtung abgeschlossen","Button2")

    [/autoit]
  • hallo @ all

    als nixkoenner habe ich ein paar fragen nuely
    ich haenge dann mal mei scribt mit ran.

    1 ) #include "..\..\funktionen.au3" ist das fuer IOM oder weshalb nicht #include "funktionen.au3" denn autoit hat die nicht standard!
    2 ) du suchst die exe wo?, liegt dein scribt nicht im ordner DivX 6
    3 ) weshalb ? reicht nicht winwait, du aktivierst das scribt und wartest auf die aktivation!
    WinWait("Sprachenauswahl")
    WinActivate("Sprachenauswahl")
    WinWaitActive("Sprachenauswahl")
    4 ) ControlClick("DivX","Lizenzabkommen","Button4") ich geb hier immer denn namen des button an.
    mein scribt ist fuer xp geschrieben und funzt mehr oder weniger, was nicht hinhaut habe ich rein geschrieben da moechte ich noch eine loesung suchen.

    Spoiler anzeigen
    [autoit]

    Scriptsource
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.4.9
    Author: d2po88 myName [email='d2po88@hotmail.com'][/email]

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here
    #include "File.au3"
    #include "IE.au3"

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

    Opt("WinWaitDelay", 300)
    IsAdmin ()

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

    $divx = "DivX for Windows Installation"
    Run ("DivX Pro 6.6.exe /s", @ScriptDir)

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

    WinWait ("Sprachenauswahl", "Deutsch")
    ControlClick ("Sprachenauswahl", "OK", "Button1")

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

    WinWait ($divx, "Willkommen")
    Send ("!w")

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

    WinWait ($divx, "Lizenzabkommen")
    Send ("!a")
    Send ("!w")

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

    WinWait ($divx, "Nachtrag zum Lizenzvertrag")
    ControlClick ($divx, "Ich akzeptiere die Bedingungen im Nachtrag zum Lizenzvertrag", "Button4")
    Send ("!w")

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

    WinWait ($divx, "Update gefunden!")
    ControlClick ($divx, "Nein, ich möchte diese ältere Version installieren", "Button5")
    Send ("!w")

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

    WinWait ($divx, "Wählen Sie die Komponenten aus, die Sie installieren möchten und wählen Sie diejenigen ab, die Sie nicht installieren wollen. Klicken Sie auf Weiter, um fortzufahren.")
    ControlClick ($divx, "&Weiter >", "Button2")
    Send ("{ENTER}")

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

    WinWait ($divx, "Wählen Sie das Zielverzeichnis für die DivX Software",2) ;war der fehler scribt stoppte hier obwohl das neue fenster kam
    If WinExists ($divx, "Wählen Sie das Zielverzeichnis für die DivX Software") Then
    ControlClick ($divx, "&Weiter >", "Button2")
    EndIf

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

    ;GooGle Toolbar
    WinWaitActive ('DivX for Windows Installation', "Kostenlos! Mozilla Firefox mit Google Toolbar", 2)
    If WinExists ('DivX for Windows Installation', "Kostenlos! Mozilla Firefox mit Google Toolbar") Then
    ControlCommand ($divx, "Die kostenlose Google Toolbar für Firefox installieren", 1202, "uncheck", "") ;funzt nit
    ControlCommand ($divx, "Die Google Toolbar für Firefox nicht installieren", 1203, "check", "")
    ControlClick ($divx, "&Weiter >", "Button2")
    EndIf

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

    WinWait ($divx, "Abonnieren Sie den DivX Newsletter!")
    ControlClick ($divx, "&Weiter >", "Button2")
    WinWait ($divx, "Einrichtung abgeschlossen")
    ControlClick ($divx,"&Beenden", "Button2")
    WinWait ("Informationsleiste","")
    Send ("!s")
    Sleep (500)
    ;kill ieexplorer
    ProcessWait ( "iexplore.exe") ;funzt nit
    ProcessClose ( "iexplore.exe") , ;auch nit
    ;WinWait("Congratulations! What's Next? - Windows Internet Explorer","")
    ;WinClose ("Congratulations! What's Next? - Windows Internet Explorer","iexplore.exe")

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

    Exit

    [/autoit]


    hoffe du hast die zeit meine fragen zu beantworten

    d2po88

    Einmal editiert, zuletzt von d2po88 (20. September 2007 um 17:01)

  • Hallo,

    ich würde mich selbst auch nicht als Profi bezeichnen. Aber ich versuche deine Fragen so gut wie möglich zu beantworten. Die anderen "Profis" mögen mich korrigieren wenn ich falsch liege.


    Zitat

    1 ) #include "..\..\funktionen.au3" ist das fuer IOM oder weshalb nicht #include "funktionen.au3" denn autoit hat die nicht standard!

    Ja, die funktionen.au3 bringt die IOM mit. Du findest sie im Hauptverzeichnis. Lt. eigenem Text darin es ist eine "Sammlung von Funktionen für Installationsskripte". Ich hab mir angewöhnt die einzubinden, falls ich sie wirklich mal nutzen würde. Ich hab mir quasi eine Vorlagendatei erstellt, mit der ich immer die Scripte beginne. Du musst sie nicht zwingend einbinden.


    Zitat

    2 ) du suchst die exe wo?, liegt dein scribt nicht im ordner DivX 6

    Doch auch bei mir liegen Script und exe-Datei im selben Verzeichnis. Der Vorteil an dieser Variante ist einfach, dass ich nicht wissen muss wie die exe-Datei heißt. Sie kann setup.exe, divx.exe oder auch ich_will_jetzt_installieren.exe heißen und das Script läuft trotzdem. Der eigentliche Vorteil daran ist, dass ich die Datei einfach gegen eine neuere austauschen könnte. Vorausgesetzt natürlich die Fensterbeschreibungen verändern sich nicht.


    Zitat

    3 ) weshalb ? reicht nicht winwait, du aktivierst das scribt und wartest auf die aktivation!
    WinWait("Sprachenauswahl")
    WinActivate("Sprachenauswahl")
    WinWaitActive("Sprachenauswahl")

    Das ist einfach zur Sicherheit. So ist sichergestellt, dass der Klick oder der Tastenbefehl erst gesendet werden, wenn das Fenster wirklich dafür bereit ist. Vor allem in Kombination mit ControlClick, welcher auch sicherstellt, dass der Klick nur im aktiven Fenster ankommt nicht unbedingt notwendig, aber ich habs mir so angewöhnt.
    Außerdem hab ich mir das auch bei den der PC Magazin beiliegenden Scripten abgeguckt.


    Zitat

    4 ) ControlClick("DivX","Lizenzabkommen","Button4") ich geb hier immer denn namen des button an.
    mein scribt ist fuer xp geschrieben und funzt mehr oder weniger, was nicht hinhaut habe ich rein geschrieben da moechte ich noch eine loesung suchen.

    Also laut Doku wird an der Stelle eine Control ID erwartet. Diese kann zum einen die eindeutige ID des Button sein, der Classname (das ist das was ich benutze) oder der Text der auf dem Button steht. Alles drei erfährst du mit dem AutoIt Window-Tool. Es ist im Endeffekt Geschmackssache was du benutzt. Wenn du den Text benutzt musst du nur darauf achten, dass eindeutig klar ist um welchen Button es sich handelt.


    Dein Script werde ich mir bei nächster Gelegenheit ansehen.

    Einmal editiert, zuletzt von nuely (20. September 2007 um 22:03)

  • Hi @ all

    habe mein scribt mal uebersarbeitet, wollte ich schon lange machen :D jedoch die liebe zeit lol

    Spoiler anzeigen
    [autoit]

    Scriptsource
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.4.9
    Author: d2po88 myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    Opt("WinWaitDelay", 300)
    IsAdmin ()

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

    $divx = "DivX for Windows Installation"
    Run ("DivX Pro 6.6.exe /s", @ScriptDir)

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

    WinWait ("Sprachenauswahl", "Deutsch")
    ControlClick ("Sprachenauswahl", "OK", "Button1")

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

    WinWait ($divx, "Willkommen")
    Send ("!w")

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

    WinWait ($divx, "Lizenzabkommen")
    Send ("!a")
    Send ("!w")

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

    WinWait ($divx, "Nachtrag zum Lizenzvertrag")
    ControlClick ($divx, "Ich akzeptiere die Bedingungen im Nachtrag zum Lizenzvertrag", "Button4")
    Send ("!w")

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

    WinWait ($divx, "Update gefunden!")
    ControlClick ($divx, "Nein, ich möchte diese ältere Version installieren", "Button5")
    Send ("!w")

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

    WinWait ($divx, "Copyright © DivX, Inc. 2007")
    If Not WinActive ($divx, "Copyright © DivX, Inc. 2007") Then WinActivate ($divx, "Copyright © DivX, Inc. 2007")
    WinWaitActive ($divx, "Copyright © DivX, Inc. 2007")
    ControlClick ($divx, "&Weiter >", "Button2")

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

    WinWait ($divx, "Wählen Sie das Zielverzeichnis für die DivX Software",2)
    ControlClick ($divx, "&Weiter >", "Button2")

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

    WinWait ($divx, "Kostenlos! Mozilla Firefox mit Google Toolbar", 2) ;kommt nur wenn firefox nicht installiert ist
    If WinExists ($divx, "Kostenlos! Mozilla Firefox mit Google Toolbar") Then
    ControlClick($divx, "Kostenlos! Mozilla Firefox mit Google Toolbar", "Button5") ;auskommentieren falls firefox installiert werden soll
    ControlClick ($divx, "&Weiter >", "Button2")
    EndIf

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

    WinWait ($divx, "Abonnieren Sie den DivX Newsletter!")
    ControlClick ($divx, "&Weiter >", "Button2")

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

    WinWait ($divx, "Einrichtung abgeschlossen")
    ControlClick ($divx,"&Beenden", "Button2")

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

    WinWait ("Informationsleiste","", 4) ;schließen des popup
    Send ("!s")
    Sleep (1000)
    ProcessWait ("iexplore.exe")
    ProcessClose ("iexplore.exe")
    Exit

    [/autoit]


    funtz jetzt wunderbar, ohne prob :comp1:

    d2po88

  • Stimmt, das funktioniert gut so. Ein Problem sehe ich im Beenden des Internet Explorer. Da stellen sich mir folgende Fragen:

    1. Was ist, wenn ich den IE nicht als Standard habe?
    2. Was ist, wenn ich bereits mehrere IE Fenster offen habe?

  • hi @ all

    ja da hast du recht, hm mann koennte auch alle einbauen jedenfalls die gelaeufigen, IE, OP, FI usw, spass :D.
    das ich firefox nicht als standart habe hatte ich mir keine gedanken darum gemacht, benutze zwar mehr denn firefox als ie, jedoch ne andere loesung waere angebracht, zb. alt F4 mal sehen.
    da ich jetzt vista ultimate 64 drauf habe, muss ich das scribt sowieso um arbeiten.
    ich lass ma aber was einfallen nuely, es dauert nur, da ich noch mit dem einrichten von vista beschaeftigt bin.

    d2po88

  • hi @ all
    so habe ma das scribt ueberarbeitet, und firefox, sowie opera eingebaut, leider hat dein scribt nit gefunzt bei mir , desweiteren finde ich nicht um die DIVx webseite zu verhindern, wie bei dir, kann auch sein das ich dies ueberlesen habe, da ich mit der loesung zufrieden bin =), ich schliesse halt die browser. auch habe ich ein scribt in dem 12 programme nach und nach abgearbeitet werden, so brauch ich nicht jedes einzelne ausfuehren, ist fuer mich erstmal die beste loesung so.
    hier mal das scribt

    Spoiler anzeigen
    [autoit]

    Scriptsource
    ; ----------------------------------------------------------------------------
    ;
    ; AutoIt Version: 3.2.4.9
    ; Author: d2po88
    ;
    ; Script Function:
    ; Installiert DIVX.6.7
    ;
    ; ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here
    $divx = "DivX for Windows Installation"
    #RequireAdmin
    Opt ("WinWaitDelay", 300)
    Run ("DivXInstaller67.exe /s", @ScriptDir)
    WinWait ("Sprachenauswahl", "Deutsch")
    ControlClick ("Sprachenauswahl", "OK", "Button1")
    ;Wilkommen
    WinWait ($divx, "Willkommen")
    Send ("!w")
    ;Lizenzabkommen
    WinWait ($divx, "Lizenzabkommen")
    Send ("!a")
    Send ("!w")
    ;nachtrag zum Lizenuvertrag
    WinWait ($divx, "Nachtrag zum Lizenzvertrag")
    ControlClick ($divx, "Ich akzeptiere die Bedingungen im Nachtrag zum Lizenzvertrag", "Button4")
    Send ("!w")
    ;Komponenten auswählen
    WinWait ($divx, "Komponenten auswählen")
    ControlClick ($divx, "Komponenten auswählen", "Button2")
    ;Zielverzeichniss
    WinWait ($divx, "Wählen Sie das Zielverzeichnis für die DivX Software")
    ControlClick ($divx, "Wählen Sie das Zielverzeichnis für die DivX Software", "Button2")
    ;Firefox Gopogle Toolbar
    WinWait ($divx, "Kostenlos! Google Toolbar für Firefox", 2)
    ControlClick ($divx, "Kostenlos! Google Toolbar für Firefox", "Button5")
    Sleep (500)
    ControlClick ($divx, "Kostenlos! Google Toolbar für Firefox", "Button2")
    ;Newsletter
    WinWait ($divx, "Abonnieren Sie den DivX Newsletter!")
    ControlClick ($divx, "Abonnieren Sie den DivX Newsletter!", "Button2")
    ;Fertig
    WinWait ($divx, "Einrichtung abgeschlossen")
    ControlClick ($divx, "Einrichtung abgeschlossen", "Button2")
    ;Explorer, Firefox, Opera
    WinWaitActive ("Informationsleiste", "", 4)
    ControlClick ("Informationsleiste", "&Schließen", "Button1")
    WinWait ("Congratulations! What's Next? - Windows Internet Explorer", "Befehlsleiste", 4)
    If WinExists ("Congratulations! What's Next? - Windows Internet Explorer", "Befehlsleiste") Then
    ProcessClose ("iexplore.exe")
    EndIf
    WinWait ("Congratulations! What's Next? - Mozilla Firefox", "", 4)
    If WinExists ("Congratulations! What's Next? - Mozilla Firefox", "") Then
    ProcessClose ("firefox.exe")
    EndIf
    WinWait ("Congratulations! What's Next? - Opera", "", 4)
    If WinExists ("Congratulations! What's Next? - Opera", "") Then
    ProcessClose ("Opera.exe")
    EndIf

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

    Exit

    [/autoit]

    es laeuft und ich bin zufrieden

    d2po88

  • ich beende den Browser beabsichtigter Weise nicht. Denn Firefox und Opera und auch der neue IE arbeiten mit Tabs. Wenn ich also den Browser schon offen habe und darin mehrere Internetseiten, werden die alle geschlossen. Das möchte ich lieber nicht.

    Wenn du inzwischen über

    [autoit]

    WinWait ("Congratulations! What's Next? - Windows Internet Explorer", "Befehlsleiste", 4)

    [/autoit]

    prüfst kannst du doch auch gleich WinClose nutzen. Folgendes sollte ungetestet funktionieren:

    [autoit]


    ControlClick ("Informationsleiste", "&Schließen", "Button1")
    Sleep(5000)
    If WinExists ("Congratulations! What's Next?", "") Then
    WinClose ("Congratulations! What's Next?", "")
    EndIf

    [/autoit]


    Dann bist du unabhängig vom Browser.


    PS: Was funktioniert an meinem bei dir nicht?

  • hi @ all

    nuely, leider ist der browser aufgegangen , ( IE)
    nenene winclose ging nicht ( beim IE ) deshalb habe ich ja gesucht, was dann geht! ich sehe das dann nicht so eng, ist wohl geschmackssache, ich wollte auch auf der sicheren seite sein, da mein scribt ja dann noch weiter laeuft, serial eingeben.
    das habe ich nicht mit rein gestellt, da meine serial, beim 6.7 nicht mehr gueltig ist und die schon wieder kohle haben wollten 8o, dukatenesel habe ich leider nicht ;)

    d2po88

    PS:mit den browser hatte ich so meine probs

    Einmal editiert, zuletzt von d2po88 (29. September 2007 um 16:26)