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.

Beispiel
preserveConfigFor:
 - Update.exe
 - SmartTax.exe


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.

Beispiel
step:
 - msiexec: /i Installer.msi /q

start

Startet einen Prozess.

kill

Beendet einen Prozess. Die Dateierweiterung darf hier nicht angegeben werden.

Beispiel
step:
 - kill: SmartTax
# any other update steps
 - start: SmartTax.exe

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

Die Aktualisierung von den Versionen 19.0.x und 19.1.x auf die Version 20.0.x kann nicht durchgeführt werden. In diesen Fällen muss die alte Version zuvor deinstalliert werden. Der Grund ist unten erläutert.


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.

Produkt Codes veröffentlichter Versionen

Version
TestingStagingProduction
19.0.4.2523{F663F4D8-65B0-46AB-9DEE-2E6BB164831F}


19.0.5.2575{3EB429C7-5640-45D9-9C43-B8DDA79C7707}{7027743F-9682-4DB7-9E0B-853D0D80C5F0}{3E465787-55E8-4AAF-AA46-66CABD160560}{B0077CD3-1656-493A-BC79-6B3E7FC39770}
19.0.6.2617{2FAB6608-773D-4578-9C72-A22558B4EF92}{BEF7BAF3-8EA8-4627-8AD6-E85E3AE6B60C}{D50E363F-F684-444D-882B-87BAE0C1503C}{B2F66250-761D-4143-AD58-8083EECB09EA}
19.0.7.2648{3886691B-02BF-4BAE-BCB2-434DEA13550D}{D29E3557-B6AD-43DC-BED8-C705050853A8}{C46D8B9A-1AD3-4561-A4DE-33E7C584CEF0}{48148BF3-70AD-4982-B7B2-2E5727A7858A}
19.0.8.2739{84B49901-6807-4EE6-90DA-AE5EAB442CE3}{C8AA7155-1579-414C-8BE2-5BD563C66B20}{668D4C07-CBD2-44AE-B195-33CA5167B840}{4E38438C-4507-4CE5-BB4C-E4BC3A863008}
19.0.9.2781{BCAAB665-01D4-4673-B189-DB429107FFF8}{DF84FB33-C9AD-479E-B636-1C359122489B}{27CE92BC-117D-4B6F-873B-19681B1C2E27}{FD0D88AA-BED0-4ED3-9323-496B52268BAE}
19.0.9.2821{9CF56EBD-5579-4482-9E23-27EB29B810D5}{FF4BEA02-BF1F-4C24-A9BB-622F4BAB5B67}{468C7925-038B-4B9A-BF07-FDB32236F9CB}{08E0BDBF-5502-4C7D-BAAA-F70B5FC790FE}
19.0.9.2822{E34E52A8-BB0C-42BD-98E1-A6EB307BB59D}{0C2869B6-3C0E-4AEE-A7B9-C0A339BA0B3C}{43C75BE7-8414-4E24-8DC6-81C9F4790ECE}{7FEA6D82-BD47-4DA5-98BE-D3C1A39DE747}
20.0.0.2948{A8A336ED-990B-4F3A-BAAE-89EC46FA5C23}{69D9C21B-BD6A-47A4-A6A5-7EAB2C89CECA}{FC077D1E-1A9A-4AFF-80D4-03078DCE50D5}{943E6552-4927-4527-8299-5BA2C75AAE66}
20.0.2.3148

{B3F0AB9C-A5B9-4BA7-BB2D-B4830C347169}

{3DD46A47-0919-4D13-A979-F67849F40718}

{4140CCD0-927B-44CD-A28D-5D57CBD43DE2}

{9689AF3F-EE8F-472D-B307-B34D6FAED8C6}

20.0.8.3373{9D6BF768-DA83-4EE3-86C1-7D8580F8BB63}{AC93E5E5-BC5B-4300-B693-3E56F4EF19F3}{166E4363-D629-479D-B390-441DFFB1EACB}{8FFE013B-0C30-40A0-A33F-D97BF1765526}
20.1.1.3214

{E48CF44A-8889-4D73-A14A-69758A8B7419}

{C41CAD73-DE4E-4BED-881E-440AC149CE37}

{867F27DB-4A2B-4B88-A569-62E9C3492B04}

{9B56179E-9FA3-4712-9595-A36A863FD7E1}

20.1.2.3265

{D64CCAF9-4D84-4896-BF6E-A3194DAC9600}

{E49E7058-E7E5-4602-8384-CB4D10DC2DD7}

{18FCDF03-B6E8-4288-9967-9E15324C33D0}

{730CEA5A-3611-49D3-AD14-77F30D2F8CEF}

20.1.3.3365{251A82A1-E521-4C9D-98CC-0251D2B08CAC}{2EAF5167-FA91-4673-A609-5D5FB8986951}{CCD44D9E-289B-4427-B4B7-8B3B2AA9FEA5}{009B2D0F-E567-42DF-967F-D312FED747C0}


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.