Programm automatisch installieren

  • Hallo zusammen,
    ich kenne Autoit seit etwa 4 Stunden und einfach mal "rumgewurschtelt". Nun wollte ich als Bsp. AnyDVD automatisch installieren lassen, doch wenn ich das mache, schaltet der nach dem ersten fenster nicht um. Kann mir da jemand weiterhelfen wo das Problem liegt?
    run("SetupAnyDVD6555.exe")
    winwait("AnyDVD Setup: Lizenzabkommen")
    WinActivate("AnyDVD Setup: Lizenzabkommen","Sie müssen diesem Lizenzabkommen zustimmen:")
    ControlClick("AnyDVD Setup: Lizenzabkommen", "Abbruch", "Ich stimme zu!")

    Das obere funktioniert

    winwait("AnyDVD Setup: Installationsoptionen")
    Winactivate("AnyDVD Setup: Installationsoptionen")
    ControlClick("AnyDVD Setup: Installationsoptionen", "Abbruch", "< Zurück", "Weiter >")


    Hier unten bleibt es dann hängen und geht nicht weiter... Ich kann mir vorstellen, dass das ein total dummer Fehler ist, aber ich wäre sehr erfreut über eure Hilfe.

  • Hallo Cr@sh,

    das habe ich hier: http://www.appdeploy.com/packages/detail.asp?id=1120 gefunden:

    Der Aufruf könnte dann so erfolgen (nicht getestet, nur so 'ne Idee):

    [autoit]


    FileInstall("c:\temp\anydvd_src\SetupAnyDVD6555.exe", $WorkDir, 1)
    RunWait($WorkDir & 'SetupAnyDVD6555.exe /silent /noautorun /noreboot /license=<DeinPfad>\Key.AnyDVD', $WorDir, @SW_HIDE)

    [/autoit]

    Alternativ könntest du ja auch eine Datei erstellen, dies mit einbinden und dann aufrufen:

    [autoit]


    FileInstall("c:\temp\anydvd_src\SetupAnyDVD6555.exe", $WorkDir, 1)
    FileInstall("c:\temp\anydvd_src\silentAnyDVD.txt", $WorkDir, 1)
    RunWait($WorkDir & 'SetupAnyDVD6555.exe /silent /noautorun /noreboot /config=<DeinPfad>\silentAnyDVD.txt', $WorDir, @SW_HIDE)

    [/autoit]

    Ach ja, hier http://www.windows-unattended.de/component/opti…ase/Itemid,467/ gibt es in der Schalterdatenbak unter dem Begriff "AnyDVD" auch noch etwas zu finden... :)

    mfg
    Axel

    There exist 10 different kind of people on earth.
    Those who understand binary, and those who don't.

    Einmal editiert, zuletzt von ahe (5. Juni 2009 um 17:08)

  • Ist doch mit AutoIt, nur anstelle von 50 Zeilen sind es gerade 'mal 3...

    Ich bevorzuge wenn immer es irgend geht die originalen Installationsparameter des Herstellers, erst wenn das Setup von ignoranten, keinem Standard gehorchenden Entwicklern erstellt wurde, dann fange ich an das Setup "abzufilmen..."

    (sorry, ich ärgere mich gerade über eine Java-Anwendung, die sich erst nach dem ersten Start konfigurieren läßt. Und außerdem über dieses Problem:[ offen ] Umzug des Vorlagenpfades in Worddateien)

    mfg
    Axel

    There exist 10 different kind of people on earth.
    Those who understand binary, and those who don't.

  • Hmm dann muss ich mich doch nochmal mehr durchlesen, weil ich daraus irgendwie nicht schlau werde :( aber rotzdem vielen dank und viel erfolg beim lösen deines Problems :)

  • Die meisten Setups können mit Hilfe von Parametern (switches, Schaltern) aufgerufen werden, um sie zum Beispiel in einen bestimmten Ordner zu installieren oder einfach ohne jegliche Benutzereingabe laufen zu lassen.

    Häufig kann man auf der Kommandozeile mit Hilfe der Parameter /? oder -? oder /h oder -h die übrigen Installationsparameter erfahren.

    Ich würde jetzt als erstes die Kommandozeile für die Installation zusammenbauen und dann ein AutoIt-Skript daraus erstellen.
    Die Kommandozeile könnte ja so aussehen: (ich kenne die Anwendung leider nicht, daher kann ich nix zum Schalter "/license" sagen, ob man ihn überhaupt bei deiner Version braucht)

    Code
    SetupAnyDVD6555.exe /silent /noautorun /noreboot /license=c:\temp\Key.AnyDVD



    Hilfreich sind auch die Seiten, die ich dir angegeben habe, dort findet man unzählige Tipps...

    mfg
    Axel

    There exist 10 different kind of people on earth.
    Those who understand binary, and those who don't.

  • oft ist der Text

    oder so...

    Gerade sowas sollte man vermeiden.
    Der 2. Parameter von WinWait oder den Control-Funktionen dient ja dazu die Fenster genauer zu spezifizieren um sie zu unterscheiden.
    Gerade bei Setups haben die einzelnen Fenster gleiche Titel und so kommt es dann auf den 2. Parameter an.
    Wenn man jetzt dort solche Sachen wie z.B. ">Weiter" einträgt was vermutlich in so ziemlich jedem Fenster vorkommt ist der Sinn verpufft.
    Weil dann ja nicht auf das nächste Fenster gewartet wird sondern sofort ein Match kommt - nämlich das schon vorhandene - also das falsche.

    @Cr@sh
    Ich hatte mal vor einiger Zeit einen Einsteiger-Guide dafür geschrieben um die herangehensweise mal an einem Beispiel zu erklären: >>Klickmich<<.
    Ansonsten sollte man aber erstmal auf Silent-Switches testen was ahe hier schon angesprochen hatte.

    @Chefs
    Könnt die Anleitung auch gerne hier ins Wiki übertragen oder verändern wenn es jemand für sinnvoll erachtet.