| Autor |
Beitrag |
stOrM!
      
Beiträge: 22
|
Verfasst: Mo 21.05.07 14:20
Hallo,
vielleicht erstmal das wesentliche, ich versuche mittels CreateProcess eine Liste von Programmen abzuarbeiten welche installiert werden sollen. (Diese Programme die in einer Liste stehen verfügen alle über Parameter = Silent Switches /S oder /qb usw)
Frage1:
Ich habe mal das Setup des M$ LiveMessengers entpackt, da ich nur das eigentliche Setup brauchte und nicht dem dummen Toolbars usw. Ich habe also das Setup mit dem Namen MSMSGS.MSI
das habe ich dann mittels CreateProcess und dem Parameter /qb gestartet, seltsamerweise tat sich gar nichts, zu Testzwecken habe ich alles noch in Anführungstrichen gesetzt, hat aber auch nichts bewirkt Setup wird nicht ausgeführt.
Nun das kuriose, wenn ich das Setp über ShellExecute mit gleichem Parameter ausführe Bingo! Setup wird ausgeführt LiveMessenger wird silent installiert, übrigends gehts auch wenn ich eine BatchDatei bauen und die ablaufen lasse. Wieso klappt das nicht mit CreateProcess, welches ich für die anderen Setups ebenfalls benutze und da läuft es einwandfrei...
Frage2:
Gibt es eine Möglichkeit eine Progressbar upzudaten weil meine Liste der Setups abgearbeitet wird? Also sagen wir ich habe 10 Setups die ausgefürt werden müssen, Wenn Setup1 beendet wird Progressbar1 update, jetzt Aufruf Setup2 nach beendigung wieder update der Progressbar usw...
Frage3:
Eigentlich das wichtigste, gibt es irgendeine Möglichkeit circa abzuschätzen wann alle Programme komplett installiert sind?
So in etwa wie bei der Windows Installation: Windows installation in ca 13 Minuten...
abgeschlossen.
Muss ja nicht 100% sein aber so circa wäre super, ich weiss nicht wie ich das abschätzen soll wann die Setups alle durchlaufen wurden? Ich hab ja eigentlich nur die Anzahl der Setups (zur Zeit 9) und bei welchem Setup ich gerade bin, reicht das aus?
viele Grüsse
s!
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 21.05.07 16:11
1. CreateProcess startet eine Anwendung. MSI-Files sind aber keine Anwendungen, sondern Datendateien für eine Anwending. Du musst also in der Registry auslesen, welche Anwendung für den Start von MSI-Files benötigt wird. Nichts anderes macht ShellExecute intern auch ...
2. Du musst mit WaitForSingleObject auf die Beendigung des gestarteten Prozesses warten. Beispiele hierfür solltest Du im Forum finden. Als Timeout-Wert empfiehlt sich eine Sekunde (Timeout=1000), damit Du zyklisch Application.ProcessMessages zum Neuzeichnen ausführen kannst.
3. Wenn Du die Anzahl weißt, und die Anzahl der fertigen, dann reicht das vollkommen, solange alle Setups etwa gleich lang benötigen. Einfach Bisherige Zeit * GesamtzahlSetups / Fertige Setups rechnen und in Minuten anzeigen. Beachte, dass Du während das erste Setup läuft, noch keine Restzeit machen kannst ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
stOrM! 
      
Beiträge: 22
|
Verfasst: Mo 21.05.07 16:31
BenBE hat folgendes geschrieben: | 1. CreateProcess startet eine Anwendung. MSI-Files sind aber keine Anwendungen, sondern Datendateien für eine Anwending. Du musst also in der Registry auslesen, welche Anwendung für den Start von MSI-Files benötigt wird. Nichts anderes macht ShellExecute intern auch ...
2. Du musst mit WaitForSingleObject auf die Beendigung des gestarteten Prozesses warten. Beispiele hierfür solltest Du im Forum finden. Als Timeout-Wert empfiehlt sich eine Sekunde (Timeout=1000), damit Du zyklisch Application.ProcessMessages zum Neuzeichnen ausführen kannst.
3. Wenn Du die Anzahl weißt, und die Anzahl der fertigen, dann reicht das vollkommen, solange alle Setups etwa gleich lang benötigen. Einfach Bisherige Zeit * GesamtzahlSetups / Fertige Setups rechnen und in Minuten anzeigen. Beachte, dass Du während das erste Setup läuft, noch keine Restzeit machen kannst ... |
YO bin ich bescheuert!
Hast vollkommen Recht bezüglich der Anwendung, da muss ich mal in der Registry rumwühlen!
Ich probier mal aus was du geposchtet hast meld mich wieder! Bis dahin schonmal vielen Dank!
PS. Ein wenig unklar ist der letzte Punkt für mich noch, die Setups benötigen nicht etwas die gleiche Zeit als vergleich VLC gegenüber OpenOffice kann man sich ja denken das das letztere länger brauchen würde, hast du da eine andere Möglichkeit für mich, wäre super!
Kannst Du mir eventuell den Punkt mit: "bisherige Zeit.. während des ersten Setups usw" codetechnisch verdeutlichen?
Ich weiss grad nicht wo ich die Zeitprüfung starten soll noch wo sie Aufhören muss bzw. usw. ? *verwirrt
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 21.05.07 16:47
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
stOrM! 
      
Beiträge: 22
|
Verfasst: Mo 21.05.07 17:17
|
|
|