Office 2007 Setup

  • Hi,

    ich habe versucht die Installation von Office 2007 mit Autoit zu automatisieren. Soweit funktioniert das auch ganz gut nur gibt es das Problem das jedes Fesnter im Setup gleich heißt und man mit Autoit auch nicht den Text des Fensters abfragen kann sondern lediglich den Titel. Dadruch kann man nun nicht feststellen wann das Setup fertig installiert hat und der abschließenede Klick auf "Schließen" erfolgen muss. Gibt es dazu noch eine anderen weg als dann halt über Pixelsearch?

    mfg

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (6. November 2009 um 09:01)

  • Hi,

    schau mal wieviele msiexec Prozesse während der Installation laufen.
    Ich bin der Meinung es müssten mind. 2 sein. Bei fertiger Installation sollter nur noch 1 Prozess vorhanden sein.

    Damit könntest Du eine Schleife bauen:

    [autoit]

    $proclist = ProcessList ("msiexec.exe")
    While $proclist [0] [0] > 1
    $proclist = ProcessList ("msiexec.exe")
    sleep (50)
    Wend

    [/autoit]

    ;-))
    Stefan

  • Geht leider nicht, da während der Installation der Prozess "msiexec.exe" immer mal wieder kurzzeitig nur einmal vorhanden ist.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hi,

    was heisst kurzzeitig? gffs. kannst Du ja die Schleife entsprechend anpassen:

    [autoit]

    $x = 0
    ; Wenn 10 sec msiexec nur einmal vorhanden
    While $x < 11
    $proclist = ProcessList ("msiexec.exe")
    If $proclist [0] [0] = 1 Then
    $x += 1
    Else
    $x = 0
    EndIf
    sleep (1000)
    Wend

    [/autoit]

    ;-))
    Stefan

  • HIer ist mein Script

    Spoiler anzeigen
    [autoit]

    Run('\\193.196.72.5\ProgrammeAutoit$\Office 2007\SETUP.EXE')
    WinWait("Microsoft Office Professional Plus 2007", "NUIDocumentWindow")
    If Not WinActive("Microsoft Office Professional Plus 2007", "NUIDocumentWindow") Then WinActivate("Microsoft Office Professional Plus 2007", "NUIDocumentWindow")
    WinWaitActive("Microsoft Office Professional Plus 2007", "NUIDocumentWindow")
    Sleep(2000)
    Send("XXXXXXXXXXXXXXXXXXXXXXX")
    Sleep(2000)
    Send("{TAB}")
    Sleep(2000)
    Send("{ENTER}")
    Sleep(2000)
    Send("{SPACE}")
    Sleep(2000)
    Send("{ENTER}")
    Sleep(2000)
    Send("{ENTER}")
    Sleep(2000)
    Send("{TAB}")
    Sleep(2000)
    Send("{ENTER}")
    Sleep(5000)
    $proclist = ProcessList("msiexec.exe")
    $count = 0
    While 1
    $proclist = ProcessList("msiexec.exe")
    If $proclist[0][0] < 2 Then
    $count = $count + 1
    If $count > 50 Then
    Sleep(2000)
    Send("{TAB}")
    Sleep(2000)
    Send("{ENTER}")
    Exit ()
    EndIf
    Else
    $count = 0
    EndIf
    Sleep(100)
    WEnd

    [/autoit]

    Das Fenster wird nun auch geschlossen aber nach dem schließen kommt einer AutoitError Meldung "Line -1: Error: Error in expression."

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hi,

    Ändere Exit () in Exit.

    Helpfile:
    The parameter, if included, can be enclosed in parentheses. Thus, the following are equivalent: Exit, Exit 0, and Exit(0). However, Exit() is invalid.

    ;-))
    Stefan