AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Warten bis ein Programm beendet wird
Thema durchsuchen
Ansicht
Themen-Optionen

Warten bis ein Programm beendet wird

Ein Thema von Popov · begonnen am 30. Mai 2012 · letzter Beitrag vom 31. Mai 2012
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#11

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 00:30
Wenn du solche Ansprüche hast, wirst du wohl für jedes Setup eine entsprechende Behandlung implementieren müssen (bzw. in einer Datenbank speichern, die dein Programm zur Behandlung eines Setups benutzt).
Genau da sehe ich auch das Problem, aber eher darin, dass die Setups durchaus an unterschiedlichen Stellen des OS hinterlegen können, was nach dem nötigen Neustart weiter passieren soll (Dateien umbenennen, Treiber laden, komplettes Setup fortsetzen). Und das Rausfinden und Beachten/Berücksichtigen dessen halte ich für zu viel Aufwand, denn das kann sich ja mit jeder neuen Setup-Version ändern. Neustart unterdrücken, bis alle Einzelsetups durch sind, ist das wesentlich einfacher. Ich habe bisher noch kein Setup erlebt, das einen Neustart trotzdem durchführte, oder das einfach ungefragt getan hätte (soll aber nicht unbedingt heißen, dass es sowas nicht gibt).

MfG Dalai
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#12

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 00:46
Wenn du solche Ansprüche hast
Was verstehst du unter Ansprüche? Für mich ist das normalen Ablauf.

Code:
Was hast du für Mainboards? Ich habe noch nie erlebt, dass mehr als ein Neustart am Ende notwendig war.
Ich schon.

Zitat von sx2008:
Ich verstehe nicht so ganz, weshalb du ein eigenes Programm entwickeln möchtest (das Rad neu erfinden).
Ich glaube das Problem wurde falsch verstanden, es geht nicht drum mehrere meiner Programme zu installieren, sondern fremde Programme von denen ich nicht weiß wie sie einzeln für sich installiert werden.

Das Programm soll für AllInOne Sorglos-Pakete für sehr unerfahrene Nutzer sein, wo man verschiedene Programme zu Programmpaketen zusammenstellen kann, z. B. ein Windows wurde frisch installiert, der unerfahrene Nutzer hat keine Ahnung, schiebt eine DVD rein, die installiert alle nötigen Anwendungen nacheinander.

Ich glaube was hier gerade abläuft ist sowjetisches Marketing. Wenn die einen Traktor bauten und die Kunden sie baten im nächsten Model einen etwas weichere Sitzpolsterung einzubauen, sagten die nicht ok, sondern fragten wozu das eigentlich nötig ist. Ich hab eine Idee, warum soll ich sie rechtfertigen. Mich interessiert es nicht ob es nötig ist, oder ob man Neustart-Anweisungen befolgen muß, sondern wie man sowas umsetzten kann.

Solche Programme gibt es. Wie gesagt, ist erst Planung, die aus Erfahrung ruht.

@jaenicke
An Autostarts habe ich schon gedacht, ich weiß aber nicht ob das die anderen Programme auch machen. Zumindest kann ich es mir nicht vorstellen.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#13

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 00:47
Aus der Gesamtheit von Popovs Beiträgen und meiner Kristallkugel lese ich, dass das eine Art Pakage-Manager für ein DAU-sicher eingerichtet Betriebssystem werden soll
12 Beiträge bis einer verstanden hat was ich meine.

Ich hoffe, dass man an hier, statt zu fragen wozu das Programm nötig ist, sich einfach den Möglichkeiten widmet.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 05:02
@jaenicke
An Autostarts habe ich schon gedacht, ich weiß aber nicht ob das die anderen Programme auch machen. Zumindest kann ich es mir nicht vorstellen.
Das ist aber der normale Ablauf. Genau für solche Zwecke ist der RunOnce Key in der Registry gedacht, den ich anfangs genannt hatte.

Es gibt aber auch Setups, die dort nur einen Bootstrapper Aufruf unterbringen, so dass du kaum eine Möglichkeit hast mitzubekommen ob das Setup nach dem Neustart fertig ist. Der Prozentsatz an solchen Setups ist allerdings äußerst gering.

12 Beiträge bis einer verstanden hat was ich meine.
Das war mir schon von Anfang an klar.
Ändert aber nix daran, dass es nicht so einfach ist.
Deshalb habe ich ja auch von einer Datenbank mit den verschiedenen Setups gesprochen, wie du die einzelnen behandeln musst.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (31. Mai 2012 um 05:04 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#15

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 07:05
@jaenicke

Es geht nicht drum ob die Anzahl gering ist. Auch wenn es nur einen von der Sorte auf der Welt gäbe.

Das mit einer Datenbank ist eine Möglichkeit, aber jedes Programm vorher testen? Es allgemein zu machen wäre besser.

Und noch ein mal, ob man Neustarts ignorieren kann steht nicht zu Debatte. Nicht weil ich das unnötig problematisch machen will, sondern weil es Neustarts gibt. Und wenn du es im Leben noch nie erlebt hast, ich baue mir seit fast 20 Jahren meine PCs alleine und für mich ist es die Regel, dass z. B. bei Treiberinstallation immer ein Neustart nötig wird. Aber nicht nur, auch normale Programme führen die aus, ob nötig oder nicht. Manchmal ist es einfach nur ein Neustart, manchmal eine Unterbrechnung. Komisch, selbst bei Windowsupdates habe ich erlebt, dass mehrere Neustarts durchgeführt wurden. Deshalb werde ich sicherlich nicht einen dicken fetten Hinweis auf dem Programm Fenster platzieren "Neustarts bitte verhindern".

Ich würde gerne die Frage ob Neustarts Nötig sind außenvorweglassen. Die sind sowieso der einzige Grund wieso ich frage.

Nach meiner Erfahrung spielen RunOnce Aufrufe eine Rolle, aber das kann es nicht alleine sein.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 07:42
Das mit einer Datenbank ist eine Möglichkeit, aber jedes Programm vorher testen? Es allgemein zu machen wäre besser.
Dann wirst du wohl alles hooken müssen was nicht niet- und nagelfest ist und ganz genau schauen was welches Programm macht... Sprich welche Prozesse gestartet werden, welche Registryeinträge in den Autostart-Schlüsseln gesetzt werden, ...
Aber wenn dein Hook zu spät gesetzt wird, weil etwas anderes vorher startet, bringt dir das trotzdem nichts.

Nach meiner Erfahrung spielen RunOnce Aufrufe eine Rolle, aber das kann es nicht alleine sein.
Ich hatte bisher nur Setups, die damit (oder unsaubererweise mit einer anderen Autostart-Möglichkeit, sprich Run etc.) liefen oder die einen Updatedienst installiert haben, der dann den Rest erledigt hat.

Wenn du eines kennst, das es anders macht, könntest du es posten. Dann können wir gern mal schauen wie es da läuft.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#17

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 08:07
Da hätten wir schon das Windows Update, dass noch vor dem Logon Updates installiert und gelegentlich neu startet.

Ich glaube einige Virenscanner installieren sich, starten neu, führen noch vor Logon einen Test durch und führen nach dem Neustart die Installation fort.

Ich muß aber zugeben, dass ich auch individuell entscheide ob ich dem Wunsch nach Neustart nachkomme, so dass ich weiß, dass es oft vorkommt, aber ich oft bis zu letzten Installation warte.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 08:11
Das Windows Update und die Virenscanner sind Dienste. Erstens wirst du da kaum zuverlässig herankommen (oder selbst als Virus verdächtigt werden), und zweitens ist das ja denke ich nichts, in das dein Programm eingreifen müsste.

Wissen musst du das doch eigentlich nur, wenn das Setup nach dem Neustart auf dem Desktop fortgesetzt wird (auch im Hintergrund), oder?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#19

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 14:04
[...] aber jedes Programm vorher testen?
Wie willst du es sonst machen? Nehmen wir an, ein von deiner Software ausgeführtes Setup führt einen Neustart durch. Woran willst du nach dem Neustart festmachen/erkennen, ob die Installation fertig ist (und ggf. einen weiteren Neustart ausführt), ohne das im Vorhinein zu analysieren? Denn die nach dem Neustart fortgesetzte Installation kann ja weitere Prozesse starten, die ihrerseits einen Neustart auslösen oder ähnliche Geschichten.

Diese Analyse müsstest du auf allen (aktuellen/benutzten) Windows-Versionen machen, in unterschiedlichen Konfigurationen (Software nicht vorhanden oder wird "nur" aktualisiert) und das auch noch mit jeder neuen Version des Setups und so weiter. Ich wüsste nicht, welche einfache Methode es für sowas Komplexes geben könnte.

Den Status des Gesamtsetups deiner eigenen Software kannst du ja problemlos (in einer Datei oder der Registry) hinterlegen, aber zuverlässig zu erkennen, ob ein fremdes, unbekanntes Setup fertig ist oder nicht, halte ich für viel zu fehleranfällig. Aber vielleicht habe ich dafür auch nicht genug Phantasie oder Vorstellungskraft, das will ich nicht ausschließen.

MfG Dalai
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#20

AW: Warten bis ein Programm beendet wird

  Alt 31. Mai 2012, 14:42
Wie willst du es sonst machen? Nehmen wir an, ein von deiner Software ausgeführtes Setup führt einen Neustart durch. Woran willst du nach dem Neustart festmachen/erkennen, ob die Installation fertig ist ...
Siehst du, und das ist die Frage um die es geht.

Womit ich seit Anfang spiele, ist eine Prüfsumme auf jedes ausgeführte Setup-Programm. Wird ein Neustart durchgeführt, und das mitzukriegen ist kein Problem, könnte ich alle ausgeführten Programme im Task ebenfalls testen. Also paar Ideen habe ich schon, nur gefallen sie mir noch nicht so ganz. Ich suche noch weitere Ideen. Das mit der Datenbank kommt aber auf jeden Fall in die Liste.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz