admininstallation

  • Hallo,
    ich will im hintergrund eine silent admini-installation durchführen, und solange er braucht soll ein ladebalken laufen.

    der ladeblaken läuft, aber ich habe keine abbruchkreterieum

    Spoiler anzeigen
    [autoit]


    While 1
    GUICtrlSetData ($Progress1,$i)
    If $val = -1 Then ExitLoop
    Sleep($wait)
    $i = $i + 1
    if $i = 99 Then
    $i = 0
    EndIf

    Wend

    [/autoit]

    mein problem ist, wenn ich es mit

    [autoit]

    ShellExecuteWait("notepad.exe", $parameter)

    [/autoit]


    abprüfen bleibt der ladebalken stehen bis die anwendung fertig ist.
    den process kann ich irgendwie nicht mit
    ProcessWait
    abprüfen, das der msiexec nicht zu geht.
    Shellexecwait funktioniert, aber es bleibt halt alles stehen bis er fertig mit der installtion ist.

  • sorry, das war mein fehler, die notepad.exe hab ich nur zu testzwecken benutzt.
    die datei heist Ica32Pkg.msi
    und der geöffnete prozess:
    msiexec
    aber leider wird der prozess nicht beendet.

  • Hab gerade festgestellt das der Befehl Prozesswait genauso wirkt wie Shellexecwait.
    Das Programm und somit der ladebalken bleiben stehen bis der Prozess/installer fertig ist.

    :wacko:

    keiner eine idee wie man eine whileschleife solange laufen lässt bis ein programm beendet ist?

  • Das geht mit Run und ProcessExists:

    [autoit]

    $processpid = Run("programm.exe")
    While ProcessExists($processpid)
    ;Code
    Wend

    [/autoit]
  • Ich weiß jetzt nicht ob Dir das etwas hilft oder ob ich Dich falsch verstehe, ich programmiere das immer wie folgt:

    Spoiler anzeigen

    Hier als Beispiel mit dem Notepad. In Zeile 11 muss die korrekte PID des Prozesses abgefragt werden. Wenn bei mehreren gleichnamigen Prozessen nicht eindeutig klar ist welcher der gestartete ist, lies vor dem Start eine Processliste mit "ProcessList ([name])" ein und vergleiche sie mit eine Liste nach dem Start. So findest Du die passende PID, wenn sie nicht wie in meinem Beispiel beim Start (Zeile 9) ermittelt werden kann.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"