Seite 1 von 1
Rückgabewert eines Processes abfragen
Verfasst: 27.01.2006 13:48
von Wireless
Ich möchte ServicePacks von MS automatisch verarbeiten.
Ich werde aus meinem Programm heraus ein Verzeichnis mit allen Patches scannen und die noch nicht installierten ServicePacks der Reihenfolge nach mit Parametern für Quitinstallation ausführen.
Hierzu benötige nur noch einen kleinen Tipp:
Wie kann ich den "Status" oder "Rückgabewert" --wie es auch immer heißen mag--, der gestarteten Datei (Process) abfragen.
Ich meine hierbei nicht: "Datei geschlossen" etc. Ich suche viel mehr den Rückgabewert der Datei.
Beispiel: 3010 entspricht "Reboot wird benötigt!
Für Anregungen schon vielen Dank!
Gruß
Wireless
Verfasst: 27.01.2006 14:00
von ts-soft
Mit ner Batchdatei, einfach %errorlevel% auswerten, ist der einfachste Weg.
Verfasst: 27.01.2006 14:00
von nicolaus
Also ne Datei selber kann dir keine Messages senden. Du meinst sicher das das Setup was einen Patch isntalliert Messages zurück liefert oder?
Wenn du das meinst kommt es wieder drauf an ob das Setup überhaupt solche Messages zurück gibt oder ob es selber entscheidet (anhand von nem Messagerequester den du ja mit ja oder nein für nen neustart bestätigen kannst).
Gruß,
Nico
Verfasst: 27.01.2006 14:08
von Wireless
Leute, Ihr seit fix!
@nicolaus: Richtig, das Setup-Programm liefert den Wert. Die KBxxxx.exe von MS liefern diese Werte in Form von Zahlen!
Verfasst: 27.01.2006 14:22
von ts-soft
Guck Dir mal diesen Thread an, ist aber nicht unbedingt für Einsteiger geeignet:
http://forums.purebasic.com/german/view ... light=pipe
Die Ausgabe erfolgt IMHO in der Umgebungsvariable %errorlevel%, genauso wie es der End-Befehl von PB auch kann.
Verfasst: 27.01.2006 14:28
von Wireless
@ts-soft: Tja, das bringt mich weit nach vorn. Ich dachte, mir postet hier einer einen Einzeiler. Weitgefeht! Da muss ich jetzt wohl durch. Bis jetzt verstehe ich nur Bahnhof, aber mal schauen, ob ich verstehe. Das wird allerdings eine kleine Weil dauern. Erstmal vielen Dank!
Verfasst: 27.01.2006 14:45
von ts-soft
Ehrlich gesagt finde ich Dein Vorhaben nicht sehr gut.
1. derjenige hat Internet, dann ist alles vorhanden, wenn er möchte
2. er hat keins, dann wird das meiste auch nicht benötigt.
3. Mithilfe eines Installers, sollte es einfacher und sicherer gehen, wobei
ich dann von so normalen sachen wie msxml usw. ausgehe
Selbst diese ServicePack CDs, die man so im Internet bekommt, haben mir mein System schon unbrauchbar gemacht.
Ohne Wissen des Users solltest Du sowas in keinem Falle tun, ich würde Dich bei Mißerfolg verklagen
Nur so am Rande mein Senf dazu
Gruß
Thomas
Verfasst: 27.01.2006 14:53
von Wireless
@ts-soft: Ich verstehe dein Antwort. Allerdings habe ich einen Kollegen, die Aufgabe mit Hilfe des Windows-Scripting gelöst hat. Dieser Kollge möchte allerdings diesen und andere Features in ein Programm eingearbeitet haben.
Das Programm wird später als Vorbereitung für Rechner zu Softwareverteilung eingesetzt. Um nicht jedesmal jeden Rechner in einem großen Netzwerk Updates ziehen zu lassen, soll die Routine unterstützen.
So kam es zu der Aufgabe!
Gruß
Ron
Verfasst: 27.01.2006 15:08
von ts-soft
Für solche Aufgaben ist ja AutoIt besonders geeignet, hab da mal ne schöne Wrapper-Lib gemacht, mit includierter DLL, so das diese nicht erforderlich ist.
Kannste Dir ja mal ansehen, wenn Du möchtest:
http://www.purebasic.ts-soft-online.de/ ... toitx3.zip
Verfasst: 29.01.2006 10:28
von Tafkadasom2k5
Wireless hat geschrieben:@ts-soft: Ich verstehe dein Antwort. Allerdings habe ich einen Kollegen, die Aufgabe mit Hilfe des Windows-Scripting gelöst hat. Dieser Kollge möchte allerdings diesen und andere Features in ein Programm eingearbeitet haben.
Hiho!
Wenn ihr dieses Problem schon gelöst habt, dann baut diese "Lösung" doch einfach in die .exe ein?
Man könnte die Script-Befehle über die .exe an den Scripting-Host senden. So ist das Script für den Normaluser unsichtbar, und ihr habt eine kompakte .exe .
Ansonsten ist dein Vorhaben mal ne ganz witzige Idee, da ich auch meine Updates nicht von MS direkt ziehe, sondern von Homepages, die die .msi/.exe dafür bereitstellen. Wenn man die dann alle in einem Ordner hat, und nur dein Proggi ausführen braucht, wär es gut.
Vorschlag für dein "Progrämmchen":
Das Programm solange in den Autostart schieben, sodass der Vorgang weitgehend automatisiert wird - auch wenn ein Reboot benötigt wird.
Gr33tz
Tafkadasom2k5