Deinstallation und Installation

  • Hallo Leute,

    ich brauche Euere Hilfe...

    Ich habe folgende AutoIt-Script mit der ich die Installation eines Programmes durchführen möchte.
    Wird eine vorgänger Version auf dem Rechner gefunden kommt das Fenster WinWait("NovaTec Setup", "Vorhandene Installation gefunden")
    Wird keine vorgänger Version gefunden kommt das Fenster WinWait("NovaTec Setup", "Installation des AUTOMOTIVE Release 8.5")

    Meine Frage ist:
    Was muss im Code ändern, falls eine Version gefunden wird, dass der Abschnitt ;~ Anfang der Deinstallation bis ;~ Ende der Deinstallation (siehe Code im Spoiler) durchgeführt wird,
    ansonsten der Abschnitt ;~ Anfang der Installation bis ;~ Ende der Installation (siehe Code im Spoiler) ???

    Spoiler anzeigen
    [autoit]

    Opt("WinWaitDelay",100)
    Opt("WinTitleMatchMode",4)
    Opt("WinDetectHiddenText",1)
    Opt("MouseCoordMode",0)

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

    #region --- ScriptWriter generated code Start ---

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

    Run('G:\NovaTec\Disk1\Setup.exe')

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

    WinWait("Wählen Sie eine Setup-Sprache aus","Wählen Sie die Sprache")
    ControlClick("Wählen Sie eine Setup-Sprache aus", "","Button1")

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

    ;~ #############################
    ;~ Anfang der Deinstallation
    WinWait("NovaTec Setup", "Vorhandene Installation gefunden")
    ControlClick("NovaTec Setup", "","Button3")
    ControlClick("NovaTec Setup", "","Button5")

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

    WinWait("Confirm File Deletion", "Wollen Sie wirklich die ausgewählte Anwendung")
    ControlClick("Confirm File Deletion", "","Button1")

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

    WinWait("NovaTec Setup", "Setup installiert NovaTec in den folgenden Ordner.")
    ControlClick("NovaTec Setup", "","Button3")

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

    WinWait("NovaTec Setup", "Wartungsoperationen abgeschlossen")
    ControlClick("NovaTec Setup", "","Button4")
    ;~ Ende der Deinstallation
    ;~ #############################

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

    ;~ #############################
    ;~ Anfang der Installation
    WinWait("NovaTec Setup", "Installation des AUTOMOTIVE Release 8.5")
    ControlClick("NovaTec Setup", "","Button1")

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

    WinWait("NovaTec Setup", "Setup installiert NovaTec in den folgenden Ordner.")
    ControlClick("NovaTec Setup", "","Button3")

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

    WinWait("Ordner auswählen", "Wählen Sie den Installationsordner aus.")
    ControlSetText("Ordner auswählen","","Edit1", "C:\Programme\NovaTec_8.5\")
    ControlClick("Ordner auswählen", "","Button1")

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

    WinWait("NovaTec Setup", "Setup installiert NovaTec in den folgenden Ordner.")
    ControlClick("NovaTec Setup", "","Button1")

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

    WinWait("NovaTec Setup","MicroStation Ordner auswählen!")
    ControlClick("NovaTec Setup", "MicroStation Ordner auswählen!","Button1")

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

    WinWait("NovaTec Setup","Komponenten wählen")
    ControlClick("NovaTec Setup", "","Button2")

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

    WinWait("NovaTec Setup","InstallShield Wizard abgeschlossen")
    ControlClick("NovaTec Setup", "","Button4")
    ;~ Ende der Installation
    ;~ #############################

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

    #endregion --- ScriptWriter generated code End -

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

    Vielen Dank für die Hilfe im Voraus ! :thumbup:

    Viele Grüße,
    Dino

    Einmal editiert, zuletzt von Dino (20. Oktober 2008 um 12:51)

  • Hallo Dino

    Was du suchst sind Funktionen und Bedingungen. Damit brauchst du nicht dein Skript von oben nach unten zu schreiben, sondern du kannst verschachtelt arbeiten.
    Die Hilfe gibt dir da gute Beispiele, oder lese mal das Tutorial von der Seite hier.

  • Du könntest in der Registry nach dem InstallPath guck um festzustellen ob es installiert ist

    [autoit]

    $installed=1

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

    if $installed = 1 then
    ;deinstallation
    else
    ;Installieren
    endif

    [/autoit]

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer

  • versuchs mal so:

    Spoiler anzeigen
    [autoit]

    WinWait("NovaTec Setup")
    Do
    Sleep(100)
    If WinExists("NovaTec Setup", "Vorhandene Installation gefunden") Then
    ; die uninstall hier :)
    ExitLoop
    EndIf
    Until WinExists("NovaTec Setup", "Installation des AUTOMOTIVE Release 8.5")
    WinWait("NovaTec Setup", "Installation des AUTOMOTIVE Release 8.5")

    [/autoit]