Aktualisierung steuern
Wann sich die App selbst aktualisiert, wie Sie das per Richtlinie abschalten oder erzwingen und was Nutzerinnen und Nutzer dabei sehen
Wann sich die App selbst aktualisiert
Die App kann sich nur dann selbst aktualisieren, wenn sie dabei ihre eigene Installation ersetzen darf. Beim MSI ist das nicht der Fall: es installiert für alle Nutzer des Geräts nach C:\Program Files, und ein normaler Benutzer darf dort nichts schreiben. Ein Selbst-Update würde die verwaltete Installation deshalb nicht ersetzen, sondern eine zweite Kopie im Benutzerprofil anlegen.
Die App erkennt diese Situation und schaltet die automatische Aktualisierung dann ab. Konkret prüft sie beim Start:
- Liegt das Programm unter
C:\Program Files(Windows) oder in einem Programmpaket, das der angemeldete Benutzer nicht beschreiben darf (macOS)? - Läuft die App unter Linux aus einem DEB oder RPM, also nicht aus einem beschreibbaren AppImage? Nur ein AppImage kann sich selbst ersetzen.
- Hat eine Administratorin oder ein Administrator die Aktualisierung per Richtlinie deaktiviert?
Trifft eines davon zu, prüft die App gar nicht erst auf neue Versionen, und die Schaltfläche zum Aktualisieren erscheint nicht. Die Verteilung neuer Versionen liegt dann vollständig bei Ihnen.
Auf dem Mac hängt das also davon ab, wie streng Sie /Applications absichern. Bleibt das Programmpaket für den angemeldeten Benutzer beschreibbar, hält sich die App selbst aktuell, auch wenn Sie sie per MDM verteilt haben. Wollen Sie den Zeitpunkt trotzdem selbst bestimmen, setzen Sie die Richtlinie aus dem nächsten Abschnitt.
Eine App, die direkt aus dem geöffneten DMG oder aus dem Download-Ordner gestartet wurde, gilt nicht als verwaltet. Sie bietet das Update an, kann es dort aber nicht installieren und bittet darum, DeutschlandGPT in den Ordner „Programme“ zu verschieben.
Automatische Aktualisierung per Richtlinie abschalten
Diese Richtlinie wirkt unabhängig vom Installationsort, also auch bei einer Installation im Benutzerprofil.
Windows. Wert DisableAutoUpdate (REG_DWORD) unter HKEY_LOCAL_MACHINE\SOFTWARE\Policies\DeutschlandGPT. 1 schaltet die Aktualisierung ab, 0 oder ein fehlender Wert lässt sie zu. Derselbe Pfad unter HKEY_CURRENT_USER wird ebenfalls gelesen, falls Sie die Richtlinie nur für einzelne Benutzer setzen wollen.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\DeutschlandGPT]
"DisableAutoUpdate"=dword:00000001
Verteilen können Sie das als Registrierungseinstellung in einer Gruppenrichtlinie oder als PowerShell-Skript in Intune:
New-Item -Path 'HKLM:\SOFTWARE\Policies\DeutschlandGPT' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\DeutschlandGPT' `
-Name 'DisableAutoUpdate' -PropertyType DWord -Value 1 -Force | Out-Null
macOS. Legen Sie die Datei /Library/Application Support/DeutschlandGPT/managed-config.json an. Sie liegt bewusst außerhalb des Benutzerprofils, damit nur administrative Prozesse und MDM-Payloads sie schreiben können.
{
"disableAutoUpdate": true
}
Die Richtlinie wird beim Start der App gelesen. Eine Änderung wirkt also, sobald die App das nächste Mal gestartet wird.
Automatische Aktualisierung per Richtlinie erzwingen
Diese Richtlinie dreht die vorige um: die App wartet nicht mehr darauf, dass jemand zustimmt. Sie lädt eine neue signierte Version im Hintergrund herunter, auf jedem Betriebssystem, also auch unter Windows, wo sie sonst auf einen Klick wartet. Danach zeigt sie ein Fenster, das sich nicht schließen lässt, zählt 60 Sekunden herunter und installiert. Es gibt kein „Später“ und kein Abbrechen. Die einzige Schaltfläche verkürzt die Wartezeit, sie heißt „jetzt neu starten“.
Die 60 Sekunden sind dafür da, dass niemand einen angefangenen Satz verliert. Ein Einverständnis sind sie nicht: Nach Ablauf wird installiert, ob jemand am Gerät sitzt oder nicht. Die Installation startet die App neu, wie jeder andere Neustart auch.
Schlägt die Installation fehl, etwa weil der Download abbricht, versucht die App es nach 30 Minuten erneut. Nach drei Fehlversuchen hört sie bis zum nächsten Start damit auf. Kann sie das Programmpaket grundsätzlich nicht ersetzen, gibt sie sofort auf. Die normale Schaltfläche zum Aktualisieren bleibt in beiden Fällen.
Windows. Wert ForceAutoUpdate (REG_DWORD) unter HKEY_LOCAL_MACHINE\SOFTWARE\Policies\DeutschlandGPT, also unter demselben Schlüssel wie DisableAutoUpdate. 1 erzwingt die Aktualisierung, 0 oder ein fehlender Wert überlässt den Zeitpunkt wie bisher den Nutzerinnen und Nutzern. Eine Zeichenfolge (REG_SZ) mit dem Inhalt 1 wird ebenfalls akzeptiert. Auch hier liest die App denselben Pfad unter HKEY_CURRENT_USER.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\DeutschlandGPT]
"ForceAutoUpdate"=dword:00000001
Verteilen können Sie das wieder als Registrierungseinstellung in einer Gruppenrichtlinie oder als PowerShell-Skript in Intune:
New-Item -Path 'HKLM:\SOFTWARE\Policies\DeutschlandGPT' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\DeutschlandGPT' `
-Name 'ForceAutoUpdate' -PropertyType DWord -Value 1 -Force | Out-Null
macOS. Denselben Schlüssel tragen Sie in /Library/Application Support/DeutschlandGPT/managed-config.json ein. Beide Richtlinien stehen in einer Datei:
{
"disableAutoUpdate": false,
"forceAutoUpdate": true
}
DisableAutoUpdate gewinnt. Sind beide Richtlinien gesetzt, bleibt die Aktualisierung aus. Ebenso
gewinnt eine geräteweite Installation: Beim MSI unter C:\Program Files, bei einem per MDM
verteilten Programmpaket, das der angemeldete Benutzer nicht beschreiben darf, und bei einer
Installation aus DEB oder RPM bleibt ForceAutoUpdate ohne Wirkung. Der eingebaute Updater kann
dort nur die benutzereigene Installation ersetzen und würde sonst eine zweite Kopie anlegen. Die
Verteilung bleibt in diesen Fällen bei Ihnen.
Für erzwungene Aktualisierungen unter Windows heißt das: Verteilen Sie die benutzerbezogene Installation -setup.exe (NSIS), unter Intune im Benutzerkontext, und setzen Sie ForceAutoUpdate. Bleiben Sie beim MSI, verteilen Sie neue Versionen weiter selbst. Die Bedingung dafür liefert die Versionsabfrage im Abschnitt Neue Versionen erkennen.
Unter Linux wird die Richtlinie nicht gelesen, genauso wenig wie DisableAutoUpdate. Sie wirkt nur unter Windows und macOS, und sie wird beim Start der App gelesen.
Was Nutzerinnen und Nutzer sehen
Ist die Aktualisierung abgeschaltet und die installierte Version wird noch unterstützt, ändert sich nichts: die App läuft normal, sie bietet nur keine Aktualisierung mehr an.
Soll eine Version ersetzt werden, geht die App in drei Stufen vor.
Hinweis. Liegt eine empfohlene neuere Version vor, erscheint ein ruhiger Hinweis in der Seitenleiste. Darf sich die App selbst aktualisieren, ist das eine Schaltfläche zum Aktualisieren. Bei einer verwalteten Installation steht dort, dass Ihre IT die neue Version verteilt.
Frist. Wird eine Mindestversion mit Stichtag angekündigt, zeigt die App oben einen Hinweis mit Datum und benötigter Version. Er lässt sich für den Tag ausblenden. In den letzten drei Tagen vor dem Stichtag erscheint er bei jedem Start. Bei einer verwalteten Installation enthält er einen Link auf die passende Installationsdatei und die Schaltfläche „Angaben für die IT kopieren“. Sie legt installierte und benötigte Version, Stichtag, Betriebssystem und den Link in die Zwischenablage. Welche Datei verlinkt ist, richtet sich nach der Installation: das MSI für eine Installation unter C:\Program Files, die -setup.exe für eine Installation im Benutzerprofil, das DMG auf dem Mac und das AppImage für die eigene Prozessorarchitektur unter Linux. Bei einer Installation aus DEB oder RPM führt der Link auf die Download-Seite, weil die App das Paketformat nicht erkennen kann.
Sperre. Ab dem Stichtag zeigt die App ein Fenster, das sich nicht schließen lässt. Darf sich die App selbst aktualisieren, führt die Schaltfläche darin direkt zur passenden Version, und danach geht es normal weiter. Verwaltete Installationen (MSI, per MDM verteiltes Programmpaket, DEB, RPM, abgeschaltete Aktualisierung) und Geräte, deren Netzwerk die Aktualisierung blockiert, werden nicht automatisch mitgesperrt. Sie behalten den Hinweis, der sich dann nicht mehr ausblenden lässt, und können weiterarbeiten. Gesperrt werden sie nur, wenn für verwaltete Installationen ein eigener, späterer Stichtag gesetzt ist. Diesen stimmen wir vorher mit Ihnen ab.
Neben der Mindestversion können auch einzelne Versionen zur Aktualisierung aufgefordert werden, etwa wenn nur eine bestimmte Version einen Fehler enthält. Die App zeigt dann denselben Hinweis mit dem Grund. Andere Versionen bleiben davon unberührt.
Alles wird je Betriebssystem getrennt gesetzt, also für Windows, macOS und Linux unabhängig voneinander. Ein Stand, für den nichts hinterlegt ist, wird nicht zur Aktualisierung aufgefordert.
Gibt es noch keine veröffentlichte Version, die die Anforderung erfüllt, sperrt die App nicht. Sie zeigt den Hinweis mit Downloadlink und der Möglichkeit, erneut zu prüfen.
Versionen bis 0.14.0 kennen weder den Hinweis noch die Frist. Sie gelten deshalb immer als verwaltete Installation: Gesperrt werden sie erst ab dem Stichtag für verwaltete Installationen, auch wenn sie sich selbst aktualisieren könnten. Bis dahin sehen sie keinen Hinweis auf die Frist, nur die gewohnte Schaltfläche zum Aktualisieren. Verteilen Sie neue Versionen deshalb mit Vorlauf, damit Ihre Nutzerinnen und Nutzer die Frist rechtzeitig sehen. Wir kündigen Anhebungen der Mindestversion an, sprechen Sie uns bei Bedarf auf ein längeres Fenster an.
Neue Versionen erkennen
Ob eine neuere Version vorliegt, fragen Sie ohne JSON-Parser über die Versionsabfrage ab:
curl -fsL https://www.deutschlandgpt.de/api/desktop/version/windows-msi
Das eignet sich als Bedingung in einem geplanten Task, einem Intune-Skript oder einem Jamf-Erweiterungsattribut. Die vollständige Liste der stabilen Adressen steht im Überblick.
Netzwerk
Die Aktualisierung nutzt eigene Adressen, die getrennt von der laufenden App freigegeben werden müssen. Die vollständige Liste steht unter Netzwerkfreigabe.