Automatische Aktualisierung des Clients
SmartTaxBalance unterstützt in dieser Version die automatische Aktualisierung der Client-Anwendung. Voraussetzung ist die Verwendung des SmartTaxBalance Servers.
Funktionsweise
Die Aktualisierung wird von der Client-Anwendung angestoßen. Beim Start der Client-Anwendung wird eine Anfrage an den SmartTaxBalance-Server gestellt. Die Anfrage beinhaltet die aktuelle Versionsnummer der Client-Anwendung. Unterscheidet sich diese von der Version des Servers, liefert der Server ein Paket zur Aktualisierung aus. Der Client führt die Aktualisierung aus und startet im Anschluss die Anwendung.
Einrichtung
Die folgenden Schritte sind für Einrichtung eines automatischen Aktualisierungsprozesses notwendig.
Server
Diese Einstellungen müssen in der Konfigurationsdatei des Servers gesetzt werden.
Hinweis
Sie finden die Konfigurationsdatei im Installationsverzeichnis des Server im Unterordner /Config
. Dort befindet sich die Datei appSettings.config
.
<add key="AutoUpdaterEnabled" value="True" /> <add key="AutoUpdaterFilename" value="C:\Program Files (x86)\AMANA consulting\SmartTaxBalanceServer\AutoUpdate\Client.zip" />
Die Einstellung AutoUpdaterFilename
gibt das Paket an, welches dem Client zur Aktualisierung bereitgestellt wird. Weitere Informationen finden Sie unter "Aufbau und Inhalt des Pakets".
Aufbau und Inhalt des Pakets
Das Paket wird in Form eines ZIP-Archives bereitgestellt. Legen Sie mit einem Texteditor eine Datei update.yml
an. Diese Datei beschreibt den Aktualisierungsvorgang, der auf dem Client ausgeführt wird. Der Inhalt der Datei ist in der Auszeichnungssprache YAML zu formulieren.
Die update.yml
sieht auf oberster Ebene zwei Schlüssel vor.
preserverConfigFor
Dieser Schlüssel gibt an, dass Konfigurationsdateien vor der Aktualisierung gesichert und nach dem Aktualisieren wieder eingespielt werden. Es werden nur Einstellungen der Form <add key="Setting" value="Value" />
berücksichtigt. Geben Sie eine Liste von ausführbaren Dateien an.
Achtung
Es werden nur Einstellungen gesichert, die unmittelbar in den Konfigurationsdateien stehen. Sollte auf eine externe Datei verwiesen werden, z.B. Config\appSettings.config,
so wird diese nicht berücksichtigt.
steps
Hinter diesem Schlüssel werden die Schritte zur Aktualisierung aufgeführt. Es stehen mehrere Werte zur Verfügung, die im einzelnen erläutert werden. Die Schritte werden als Auflistung definiert und in der Reihenfolge abgearbeitet. Sollte ein Schritt zu einem Fehler führen, werden die folgenden Schritte nicht mehr ausgeführt.
msiexec
Dieser Wert kann verwendet werden, um den Windows Installer auszuführen. Hier erhalten Sie weitere Informationen zu den möglichen Parametern.
start
Startet einen Prozess.
kill
Beendet einen Prozess. Die Dateierweiterung darf hier nicht angegeben werden.
Client
Diese Einstellungen müssen in der Konfigurationsdatei der Clients-Anwendung gesetzt werden:
Hinweis
Sie finden die Konfigurationsdatei im Installationsverzeichnis des Clients im Unterordner /Config
. Dort befindet sich die Datei appSettings.config
.
<add key="UseUpdater" value="True"/> <add key="AutoInstallUpdates" value="True" />
Diese Einstellungen müssen in der Konfigurationsdatei des Updaters gesetzt werden:
Hinweis
Sie finden die Konfigurationsdatei im Installationsverzeichnis des Clients. Dort befindet sich die Datei Update.exe.config
.
<add key="ServerAddress" value=""/> <add key="ServerPort" value=""/>
Tragen Sie dort die IP oder den DNS-Namen des SmartTaxBalance-Servers ein. Geben Sie zusätzlich den Port an, über den der Server erreichbar ist.
Hinweis
Es wird empfohlen, die Aktualisierung über den MSI-Installer durchzuführen. Nutzen Sie dazu den entsprechenden Schritt in der update.yml
Konfiguration. Die Installation kann ohne Benutzeroberfläche (silent) erfolgen. Entsprechende Parameter sind zu setzen.
Initial sollte die Anwendung pro Benutzer auf einer Maschine installiert werden. Das hat zur Folge, dass die Anwendung unter %AppDataLocal%\Apps\
installiert wird und der Anwender somit folgende Aktualisierungen eigenständig durchführen kann. Dazu muss bei der Ausführung von msiexec
die Parameter ALLUSERS=2 MSIINSTALLPERUSER=1
angeführt werden.
Zusätzlich sollte der Schalter \norestart
verwendet werden. Da zum Installationszeitpunkt die Update.exe
ausgeführt wird und der MSI-Installer auch diese Datei ersetzt, meldet die Installationsroutine, dass ein Neustart notwendig ist. In unserem Fall kann dies aber mit dem o.g. Schalter unterbunden werden.
Probleme bei der Aktualisierung über den Windows Installer
Es kann zu Problemen bei einer Aktualisierung der Programmbibliotheken kommen. In einigen Fällen ändert sich lediglich der öffentliche Schlüssel einer Bibliothek und nicht die Versionsnummer. In diesem Fall aktualisiert der Windows Installer die Bibliothek nicht während der Aktualisierung, da die Datei bereits vorhanden ist. In Folge kommt es zu einem Fehler beim Start der Anwendung.
Wir empfehlen daher in der Datei update.yml
vor der Installation mittels
- msiexec: SmartTaxBalance-Client.msi \i \q
eine Deinstallation auszuführen mittels folgender Anweisung
- msiexec: \x {product GUID} \q
Die Produkt GUID lässt sich Anhand dieser Anleitung bestimmen.
Es kann auch eine manuelle Aktualisierung erfolgen um dieses Problem zu umgehen.
Manuelle Aktualisierung
Alternativ kann auch eine Aktualisierung per xcopy erfolgen. In diesem Fall muss manuell das alte Installationverteichnis geleert werden (beachten Sie evtl. den Schritt preserveConfigFor einzurichten) und anschließend die neuen Installationsdateien kopiert werden. Um an die Installationsdateien zu gelangen, muss das MSI-Paket entpackt werden und der Inhalt in das „Client.zip“-Archiv gelegt werden.