Swirl hat geschrieben: So 6. Nov 2022, 08:03
Ich starte Xampp nicht mittels Control Panel, sondern habe festgelegt, dass MySQL/MariaDB automatisch mit Windows starten. Und das läuft halt nicht immer spontan mit dem Windows-Start synchron ab. Das Ganze läuft beim Kunden - und dem möchte ich nicht jedesmal zumuten, zu schauen, ob MySQL bereits "auf grün" steht, oder noch nicht.
Mein Programm startet eh per Autostart und kommt deshalb dem (zeilich unzuverlässigen [sorry]) Autostart des MySQl-Servers in die Quere.
Mein Problem besteht also weiterhin in der Lösung per try-except ohne(!) Systemdialog (s.o.), sondern per Meldung im Programm(!)
Das kannst du machen wie du magst, ich kann dir nur sagen was bei mir seit Dekaden klappt.
Autostart von MySQL -> ja mache ich beim Kunden auch
Autostart vom Programm? NO
Ich mute meinem Benutzer zu dass er im stande ist auf ein Icon zu klicken um ein bestimmtes Programm zu starten. Wenn das nicht möglich ist, dann kann er mit Windows einfach nicht umgehen und kann mit dem Ding ohnehin nix anfangen.
Gewisse Mindestkenntnisse setze ich voraus.
Gerne baue ich dem User einen Link ins Startmenü oder auch auf den Desktop (igitt -- nur unter Gewaltandrohung) oder in eine companyweite Richtlinie.
Ich habe bei einem Betriebssystem keinerlei Einfluß auf die Startreihenfolge von Diensten, Programmen etc. (unzuverlässig ist nicht der SQL Server sondern das OS) daher halte ich mich da tunlichst raus.
Damit hab ich eine gute Chance dass der SQL Server läuft bevor der Benutzer auf das Programmicon klickt.
Besonders wenn ich ihm sage dass er zuerst den Rechner einschalten und sich danach den Kaffee holen soll.
Auch auf aktuellen Rechnern ist ein Office-Rechner erst zu gebrauchen NACHDEM alle nötigen und unnötigen Services (Dropbox, OneNote SynologyDrive, diverse Viren und Werbescanner und Updater) mit ihren Jobs fertig sind.
Und weil auch der Benutzer nur mit einer aktiven SQL-Datenbank als Voraussetzung arbeiten kann löse ich das so, dass mein Programm mit einer sauberen Meldung abbricht dass die DB nicht erreicht werden kann. Der User startet einfach später nochmal.
Wenn das öfter passiert (das protokolliere ich in einem logfile mit) dann gibts auch eine Meldung die auf die Situation und den Admin hinweist.