Funktionsweise

Das automatische Update soll dem Administrator einer custo diagnostic-Netzwerkinstallation dabei helfen, anstehende Updates an alle Arbeitsstationen zu verteilen. Beim Start des custo managers durch den Anwender wird bei einem anstehenden (aktivierten) Update durch ein Dialogfenster gefragt, ob das Update durchgeführt werden soll. Der Anwender hat die Möglichkeit, wenn der Administrator die Option "Update darf von Anwender verweigert werden" aktiviert hat, das Update nicht durchzuführen. In bestimmten Situationen kann diese Funktion nützlich sein, birgt aber auch die Gefahr, das die Software nachher nicht mehr läuft, weil z.B. die Datenbank eine wesentlich neuere Version hat.Wenn der Anwender das Update durchführt, wird custo manager beendet und das angegebene Update-Programm aufgerufen. Dabei werden die angegebenen Programmparameter übergeben und das Programm wird mit dem (optional) angegebenen Benutzer ausgeführt. Das extra bereitgestellte AutoUpdate-Programm für custo diagnostic ist so ausgelegt, das es als normale Benutzer laufen kann, allerdings werden dann die Registry-Einträge nicht aktualiesiert.Nach Ende des Update-Programmes passiert normalerweise nichts mehr, der Anwender muss custo diagnostic neu starten.
Hinweis: AutoUpdate steht nur zur Verfügung, wenn custo diagnostic mit einer SQL-Datenbank als Config-DB konfiguriert ist.

Ablauf für die Aktivierung eines automatischen Updates

Diese Seite ist für die allgemeine Information gedacht, Sie ist ohne Tagespasswort erreichbar. Außerdem erlaubt diese Seite dem Anwender, ein anstehendes Update sofort durchzuführen.

 
Die Einstellseite für das AutoUpdate im CSC kann der Supervisor (evtl. nach vorheriger Passwort-Authentifizierung) über eine "Update"-Seite erreichen und hier ein automatisches Update aktivieren.Ab Version diag 4.3.5 muss der "runas"-Benutzername im Format "Benutzer@Domäne.com" eingegeben werden (siehe rechtes Bild).
 
 
Auf der Seite "Arbeitsstationen" kann zusätzlich noch für einzelne Arbeitsstationen das AutoUpdate individuell deaktiviert werden.

 
Um ein automatisches Update zu aktivieren, muss eine Exe-Datei, im Normal-Fall ein diag-Setup, welches von custo med GmbH signiert ist (Versions-Nummer muss auch in der Ressource enthalten sein), ausgewählt werden. Dabei ist darauf zu achten, das der ausgewählte Pfad von jedem Client-PC erreichbar ist, da die Exe-Datei nicht auf den Client-PC kopiert wird, sondern genau diese Datei in diesem Pfad gestartet wird. Damit die Datei auf einem Client-PC erfolgreich ausgeführt wird, kann der Administrator zusätzlich einen Windows-Benutzer, Domäne und ein Passwort angeben, unter dem das Programm gestartet werden soll. Bei den Kommandozeilenparametern können jegliche Kommando-Zeilen-Parameter angegeben werden, die das Programm beachten soll. Zusätzlich kann angegeben werden, ob dieses Update ein "Kann"- oder "Muss"-Update (Default) ist (Unterschied: beim Kann-Update wir custo manager.exe gestartet, auch wenn das Update nicht durchgeführt wird).Alle Eingaben können zwischenzeitlich ohne Prüfung gespeichert werden. Sobald aber der Schalter "aktiv" gesetzt und gespeichert wurde, ist das Update installationsbereit.

Schaltflächen

Speichern - Speichert alle Einstellungen
Löschen - Löscht alle Einstellungen aus der Datenbank und schaltet das Update inaktiv
Test - Führt das Update-Programm in einem Testmodus aus, mit dem die Erreichbarkeit getestet werden kann. Es wird kein Update durchgeführt.
Update jetzt durchführen - Startet das Updateprogramm, damit auf dieser Arbeitsstation das Update durchgeführt wird.

Mögliche Fehlermeldungen beim Speichern eines Updates

Dialog "kein Update-Programm angegeben"


Dieser Dialog erscheint bei den Buttons "Speichern", "Test" und "Update jetzt durchführen", wenn im Eingabefeld Update-Programm nichts eingegeben wurde.


Dialog "Programm nicht zugelassen"


Dieser Dialog erscheint beim Button "Speichern", wenn das Update-Programm nicht zugelassen ist. Unter der technischen Beschreibung ist erklärt, wann ein Update-Programm zulässig ist.


Dialog "Lösche Einstellungen"


Dieser Dialog erscheint, wenn der Anwender die eingegebenen Informationen löschen möchte.


Dialog "Update-Prozess konnte nicht angelegt werden"


Dieser Dialog erscheint beim Button "Speichern", wenn die Update-Informationen nicht in die Datenbank geschrieben werden konnten. Weitere Informationen stehen in der Error.log-Datei.


Dialog "Fehler beim Update-Prozess"


Soll ein Update durchgeführt werden und dabei treten Fehler auf, erscheint dieser Dialog. Weitere Informationen stehen in der error.log-Datei.


Dialog "Kein Update vorhanden"


Soll ein Update durchgeführt werden und es existiert kein Update erscheint dieser Dialog.


Dialog "erfolgreicher Test"


Wird angezeigt, wenn der Test erfolgreich durchgeführt wurde.


Dialog "Update durchführen"


(1) Hinweis des Update-Prozesses
(2) Test-Information - wird nur beim Test ausgegeben


Dialog "Fehler beim automatischen Update"


Dieser Dialog erscheint, wenn beim automatischen Update (Aufruf von custo diagnostic) ein Fehler aufgetreten ist und der Anwender die Möglichkeit hat diag trotzdem zu starten.



Dieser Dialog erscheint, wenn beim automatischen Update (Aufruf von custo diagnostic) ein Fehler aufgetreten ist und der Anwender die das Update durchführen muss.

Ablauf beim automatischen Update


Schritte:

  • custo manager.exe wird gestartet
  • CustoCfg.ini wird eingelesen, Konfig-DB geöffnet und "Cfg_Update"-Tabelle eingelesen
  • "UpdateVersion" und die Versionsnummer des custo manager's werden verglichen und anhand von "CompairOperator" entschieden, ob ein Update ansteht
  • Wenn "MustBePerformed" = true MFC-Dialog für Muss-Update anzeigen, wenn false, dann MFC-Dialog für Kann-Update anzeigen
  • Wenn im Update-Dialog "Später" (bei "Kann") angeklickt wird, startet diag ganz normal
  • Wenn im Update-Dialog "Abbrechen" (bei "Muss") angeklickt wird, MFC-Meldung anzeigen, das diag nicht weiter laufen kann, das es beendet werden muss.
  • Wenn "OK" geklickt wird, wird die in "Command" hinterlegte Exe-Datei mit den in "Parameter" hinterlegten Kommandozeilenparameter für den in "SystemUser" und "SystemPassword" gespeicherten Credentials gestartet
  • sobald der Prozess läuft, wird custo manager.exe beendet, ansonsten Meldung, das das Update nicht gestartet werden konnte und dann weiterer Ablauf wie bei "Abbrechen" oder "Später"

Dialoge bei Start des custo managers

Dialog bei einem "Muss"-Update, der Anwender kann das Update zwar abbrechen, aber custo diagnostic wird auch nicht mehr gestartet."Ja" startet das Update, "Beenden" schließt den Dialog, nichts weiter passiert.

 
Dialog bei einem "Kann"-Update. Der Anwender kann mit "Später" das Update verweigern, custo diagnostic startet. Beim nächsten Start wird wieder gefragt."Ja" startet das Update, "Später" schließt den Dialog und startet den custo manager, "Beenden" schließt den Dialog, nichts weiter passiert.


Technischer Hintergrund

In der Config-DB wird eine Neue Tabelle eingefügt "Cfg_Update" mit den Spalten:


Spalte

Beschreibung

CreateDiagUser

Benutzer der das automatische Update angelegt hat

CreateDate

Zeitpunkt an dem das automatische Update angelegt wurde

UpdateVersion

nummerische Produktversion der Exe-Datei, die ausgewählt wurde

 

 

CompairOperator

Vergleichs-Operator der Produktversion ("kleiner" oder "größer")

Command

ausführende Exe-Datei mit kompletten Pfad

Parameter

Aufrufparameter der Exe-Datei

SystemUser

Benutzer des Systems mit dem die Exe-Datei ausgeführt wird

SystemPassword

Passwort des Benutzers mit dem die Exe-Datei ausgeführt wird.
Das Passwort wird verschlüsselt gespeichert.

MustBePerformed

Gibt an, ob das Update durchgeführt werden muss (Muss-Update).

Info

Optionaler Text, der im Hinweis-Dialog angezeigt wird


Diese Felder können auf einer CSC-Seite "Verwaltung/Update" eingestellt werden. Werden die Eingaben gespeichert, ist das Update sofort aktiv. Das Update kann gelöscht oder Editiert werden. Wird der Eintrag editiert, wird es aus der Tabelle entnommen (somit ist es nicht mehr aktiv). Nur wenn diese Einstellung wieder gespeichert wird, ist es wieder aktiv.
In der Tabelle "Cfg_Workstation" wird eine neue Spalte eingeführt "AutoUpdateActive" (bool). Nur wenn dieses Flag true ist, wird die Station den Ablauf für das automatische Update durchführen. Das Flag kann über die CSC-Seite "Verwaltung/Arbeitsstationen" eingestellt werden. Der Standardwert ist aktiv.
Die "nummerische Produktversion", wird aus der Recource der Exe-Datei beim Auswählen der Exe-Datei gelesen. Damit diese Datei zumindest von custo med sind, wird überprüft ob in der Resource "CompanyName" und "LegalCopyright" mindestens das Wort custo steht. Eine Idee wäre auch, da die Setup-Dateien signiert sind, die Signatur ggf. das Zertifikat zu überprüfen. Um es jedoch sehr einfach zu halten wird vorerst darauf verzichtet.
Der Aufruf erfolgt immer mit dem Aufrufparameter "/autoupdate". Wird der Test-Button im CSC aufgerufen wird zusätzlich der Parameter "\test" übergeben.

Voraussetzungen

  • diag Auto-Update ist nur bei Installationen mit SQL-Datenbank (ConfigDB) aktiviert

Service-Unterstützung

Auf Grund immer wieder auftretender Probleme werden folgende Einstellungen in die CustoCfg.ini realisiert (Konfiguration CustoCfg.ini-Datei):


Sektion
[Einstellungen]

R/O
required
optional 


Beschreibung / Werte


UpdateWorkstation

O

1 (Standard) = ein; Es wird eine Verbindung zur Datenbank aufgebaut und prüft darin, ob ein AutoUpdate durchgeführt werden soll.0 = aus; Es wird keine Verbindung zur Datenbank bei diag Start aufgebaut. Dadurch kann auch nie ein AutoUpdate durchgeführt werden.

AdoNofReconnect

O

0 (Standard); Anzahl der Wiederholungen bei einem fehlerhaften Verbindungsaufbau zur Datenbank. Betrifft nur den Verbindungsaufbau für das AutoUpdate (ADO-Schnittstelle).

Sektion
[Service]

R/O
required
optional 


Beschreibung / Werte


SqlProvider

O

Ersetzt im Verbindungsstring die Einstellung des Providers (ADO-Schnittstelle mit Windowsanmeldung).

ConnectionString

O

Ersetzt den kompletten Verbindungsstring (ADO-Schnittstelle mit Windowsanmeldung).


Fragen & Antworten

  1. Wo im Ablauf des diag wird die Entscheidung getroffen das ein Update gemacht werden kann/muss?
    Antwort: Beim Start des custo managers wird die Config-DB geöffnet und als allererstes aus der UpdateTabelle alle Informationen gelesen, darauf basiert die Entscheidung 
  2. Was kostet die ständige (muß ja schließlich bei jedem Start von diag gemacht werden) Abfrage an Laufzeiteinbuße?
    Antwort: 1 Datenbankabfrage und eine Entscheidung, ca. 50ms 
  3. Was passiert wenn ein notwendiger diag-Update (also ein muss-Update) scheitert?
    Antwort: Dann ist die Installation kaputt und der Administrator muss zur Arbeitsstation laufen und von Hand installieren 
  4. Was passiert (bezogen auf Datenbankkompatibilität) wenn ein diag läuft und bereits andere Stationen einen muss-Update einspielen?
    Antwort: Gar nichts, weil dem Setup das völlig egal ist. Was zur Laufzeit des custo managers passiert, wenn sich die DB ändert, kann ich nicht beurteilen. 
  5. Was passiert wenn ein diag-Update läuft und ich (ungeduldiger Anweder) diag jetzt starte?
    Antwort: Schlimmstenfalls kommt eine Meldung, das eine DLL nicht geladen oder ein Prozedureinsprungspunkt nicht gefunden werden kann. Wer das macht, bekommt vom Admin ein paar auf die Finger! 
  6. Wie wird die Fremdsprachigkeit gewährleistet?
    Antwort: Die Texte werden direkt aus der MLTT gelesen, sofern diese zu diesem Zeitpunkt schon geladen ist.