Bereitstellung der Desktop-App

So installieren Sie die Antimatter-Desktop-App auf den Computern eines Unternehmens oder einer Schule und setzen die Server, den Benutzernamen und die Update-Prüfungen zentral auf Windows, macOS und Linux.

App herunterladen

Die Versionen der Desktop-App finden Sie auf GitHub unter github.com/AntimatterChat/desktop-app/releases. Wie der Server befindet sich die App in der Beta-Phase: Eine Version, deren Bezeichnung nach einem Bindestrich einen Suffix trägt, ist als Pre-release markiert. Jede Version enthält eine SHA256SUMS-Datei mit den Prüfsummen aller Dateien. Prüfen Sie einen Download auf Linux mit sha256sum --check --ignore-missing SHA256SUMS oder vergleichen Sie die Ausgabe von Get-FileHash <file> -Algorithm SHA256 in PowerShell mit der entsprechenden Zeile in SHA256SUMS.

  • Windows (x64 und arm64): der .exe-Installer, das .msi-Paket oder ein .zip-Archiv. Zum Beispiel antimatter-desktop-<version>-win-x64.exe und antimatter-desktop-<version>-win-x64.msi.
  • macOS: ein .dmg-Disc-Image oder ein .zip-Archiv, für Apple Silicon (arm64), Intel-Macs (x64) oder beides (universal).
  • Linux (x64 und arm64): ein .deb- oder .rpm-Paket, ein AppImage, ein Flatpak-Bundle oder ein .tar.gz-Archiv.

Welchen Windows-Installer verwenden?

Der .exe-InstallerDas .msi-Paket
FürPersonen, die die App selbst installierenUnternehmen, die die App auf ihren Computern bereitstellen
InstallationNur für das aktuelle Windows-Konto, in %LOCALAPPDATA%\Programs\antimatter-desktop, ohne AdministratorrechteFür alle Benutzer des Computers, in C:\Program Files\Antimatter, mit Administratorrechten
UpdatesDie App prüft auf neue Versionen und bietet an, die neue .exe herunterzuladen, die die installierte Kopie an Ort und Stelle aktualisiertDie App prüft nicht auf neue Versionen: Sie stellen sie bereit

Die App prüft stündlich während der Ausführung auf GitHub nach neuen Versionen und erkennt dabei nur vollständige Releases, keine Vorabversionen. Wenn sie eine findet, informiert sie die Person und bietet einen Link zum Herunterladen an. Eine mit dem MSI installierte Kopie führt standardmäßig keine Prüfungen durch, da die Benutzer in der Regel keine Software installieren können. Sie können die Prüfungen für diese Kopie mit der Einstellung EnableAutoUpdater aktivieren: Das angebotene Download ist dann das neue .msi, das Administratorrechte erfordert.

Verwenden Sie das MSI für eine verwaltete Bereitstellung mit SCCM (Configuration Manager), Intune oder der Softwareinstallation über Gruppenrichtlinien. Die Installation des MSI entfernt die .exe-Kopie des Kontos, das die Installation ausführt, sofern vorhanden.

Die von Ihnen verwaltbaren Einstellungen

Die gleichen Einstellungen existieren auf jedem System. Auf Windows sind es Registry-Werte unter SOFTWARE\Policies\Antimatter in HKEY_LOCAL_MACHINE (für den Computer) oder HKEY_CURRENT_USER (für einen einzelnen Benutzer). Auf macOS und Linux sind es Schlüssel der verwalteten Präferenzen oder der Policy-Datei.

EinstellungAuf WindowsAuf macOS und LinuxFunktion
DefaultServerListEin Unterschlüssel mit einem String-Wert pro Server: Der Name des Werts ist der Name des Tabs, die Daten sind dessen URLEin Array von Dictionarys (Objekten auf Linux) mit name und urlFügt Server zur App hinzu. Personen können diese nicht bearbeiten oder entfernen.
DefaultUsernameEin StringEin StringFüllt den Benutzernamen auf der Anmeldeseite dieser Server aus.
EnableServerManagementEin DWORD, 0 oder 1Ein Boolean0 oder false: Personen können nur die Server verwenden, die durch DefaultServerList festgelegt sind, und die App blendet die Optionen zum Hinzufügen, Bearbeiten und Entfernen von Servern aus. Nicht festgelegt: Personen können eigene Server hinzufügen.
EnableAutoUpdaterEin DWORD, 0 oder 1Ein Boolean0 oder false: Die App prüft nie nach neuen Versionen und blendet Nach Updates suchen aus. 1 oder true: Sie prüft, auch wenn sie mit dem MSI installiert wurde. Nicht festgelegt: Die .exe-Kopie prüft, die MSI-Kopie nicht.
TrustedEmbeddedMediaOriginsEin Unterschlüssel mit String-Werten, wobei jeder ein JSON-Objekt mit serverOrigin und embeddedOrigin istEin Array von Dictionarys mit serverOrigin und embeddedOriginErlaubt in den Seiten eines Servers eingebetteten Inhalten, wie z. B. einer Videokonferenzseite, die Kamera- und Mikrofonberechtigungen zu nutzen, die für diesen Server erteilt wurden.
  • Der Benutzername wird nur auf der Anmeldeseite der durch die Richtlinie festgelegten Server ausgefüllt, nie auf einem Server, den eine Person hinzugefügt hat, und nie über das hinweg, was jemand eingegeben hat. Personen können ihn weiterhin ändern. Umgebungsvariablen zwischen Prozentzeichen werden ersetzt, sodass ein Wert für alle passt: %USERNAME% unter Windows oder %USER% unter macOS und Linux liefert den Kontonamen, und %USERNAME%@example.com eine E-Mail-Adresse, die diesem Muster folgt. Wenn eine Variable nicht gesetzt ist, füllt die App nichts ein.
  • Wenn Sie die Serververwaltung deaktivieren, geben Sie mindestens einen Server in DefaultServerList an.
  • Unter Windows hat eine Computer-Richtlinie (HKEY_LOCAL_MACHINE) Vorrang vor einer Benutzer-Richtlinie (HKEY_CURRENT_USER). Die Serverlisten beider werden kombiniert.
  • Die App liest die Einstellungen beim Start ein: Nach einer Änderung müssen Personen die App schließen und erneut öffnen.

Windows: Stille Installation mit dem MSI

Das MSI akzeptiert öffentliche Eigenschaften, die die Einstellungen als Computer-Richtlinien in HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter schreiben. Verwenden Sie diese in einer SCCM-Anwendung, einer Intune-App oder einem Skript. In PowerShell:

msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
EigenschaftSchreibtWenn nicht angegeben
SERVERURLEin Server in DefaultServerList, mit dieser URLKein Server
SERVERNAMEDer Name des Tabs dieses ServersAntimatter
DEFAULTUSERNAMEDefaultUsernameNichts
AUTOUPDATEEnableAutoUpdater, 0 oder 1Nichts: Die MSI-Kopie prüft nicht auf Updates
SERVERMANAGEMENTEnableServerManagement, 0 oder 1Nichts: Personen können Server hinzufügen
  • Eine nicht angegebene Eigenschaft schreibt nichts, sodass sie keinen Wert überschreibt, der durch die Gruppenrichtlinie gesetzt wurde. AUTOUPDATE und SERVERMANAGEMENT akzeptieren nur 0 oder 1. Das MSI setzt einen Server: Verwenden Sie die Gruppenrichtlinie für mehrere.
  • DEFAULTUSERNAME muss dem Installer als Text %USERNAME% übergeben werden, damit die App ihn für jede Person ersetzt. Andernfalls ersetzt die Shell, die die Installation ausführt, ihn durch ihren eigenen Kontonamen. In PowerShell die einfachen Anführungszeichen beibehalten. In einer .bat-Datei %%USERNAME%% schreiben. Nach einer Testinstallation in der Registry prüfen, dass DefaultUsername %USERNAME% enthält.
  • Die Eigenschaften bei jedem Upgrade erneut übergeben. Die Installation einer neuen Version des MSI entfernt die alte, einschließlich der Werte, die sie geschrieben hat, und schreibt dann die Werte der neuen Befehlszeile. SCCM und Intune behalten die Befehlszeile einer Anwendung bei: Wiederverwenden Sie sie für jede neue Version. Oder setzen Sie die Richtlinien stattdessen mit der Gruppenrichtlinie oder Intune, die Upgrades nicht betreffen.
  • Die MSI und die Gruppenrichtlinie schreiben dieselben Registry-Werte. Verwenden Sie für jede Einstellung entweder die eine oder die andere Methode: Beim Deinstallieren der MSI werden die von ihr geschriebenen Werte gelöscht, selbst wenn die Gruppenrichtlinie sie ebenfalls gesetzt hat.
  • Die MSI protokolliert außerdem ihren Installationsordner in HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop (InstallDir). So weiß die App, dass sie über die MSI installiert wurde.

Zum Deinstallieren: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. In Intune akzeptiert der Typ „Windows-App (Win32)“ dieselben Befehlszeilen. Für den Typ „Branchenapp“ fügen Sie die Eigenschaften zu den Argumenten der Befehlszeile hinzu.

Windows: Gruppenrichtlinie und Intune

Die Verwaltungsvorlagen antimatter.admx und en-US\antimatter.adml befinden sich im gpo-Ordner der installierten App (C:\Program Files\Antimatter\gpo für die MSI) sowie im Ordner resources/windows/gpo des App-Repositories. Sie zeigen diese Richtlinien unter Administrative Vorlagen › Antimatter an:

RichtlinieRegistry-WertKonfiguration
Server (DefaultServerList)Unterschlüssel DefaultServerListComputer und Benutzer
Vorzupełlender Benutzername (DefaultUsername)DefaultUsernameComputer und Benutzer
Server hinzufügen und entfernen erlauben (EnableServerManagement)EnableServerManagementComputer und Benutzer
Über neue Versionen benachrichtigen (EnableAutoUpdater)EnableAutoUpdaternur Computer
Vertrauenswürdige eingebettete Medienursprünge (TrustedEmbeddedMediaOrigins)Unterschlüssel TrustedEmbeddedMediaOriginsComputer und Benutzer

Gruppenrichtlinie in einer Domäne

  1. Kopieren Sie antimatter.admx in den zentralen Speicher, \\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, und antimatter.adml in dessen en-US-Ordner.
  2. Öffnen Sie im Gruppenrichtlinienverwaltungs-Editor Computereinstellungen (oder Benutzereinstellungen) › Richtlinien › Administrative Vorlagen › Antimatter.
  3. Bearbeiten Sie eine Richtlinie, wählen Sie Aktiviert und füllen Sie sie aus. Für Server klicken Sie auf Anzeigen und fügen Sie eine Zeile pro Server hinzu: Der Wertname ist der Tab-Name, der Wert ist die Server-URL, z. B. https://chat.example.com.

Das Aktivieren von Server hinzufügen und entfernen erlauben oder Über neue Versionen benachrichtigen schreibt 1; das Deaktivieren schreibt 0.

Intune

Verwenden Sie in Geräte › Konfiguration die Funktion ADMX importieren, um antimatter.admx zusammen mit en-US\antimatter.adml zu importieren. Erstellen Sie anschließend ein Profil aus Vorlagen › Importierte Verwaltungsvorlagen und legen Sie darin die Antimatter-Richtlinien fest.

Ein einzelner Computer oder ein Skript

Kopieren Sie die Vorlagen nach C:\Windows\PolicyDefinitions, um sie in gpedit.msc (Windows Pro und Enterprise) zu verwenden. Oder schreiben Sie die Registry-Werte direkt mit einer als Administrator importierten .reg-Datei (reg import antimatter-policies.reg), wie in diesem Beispiel. Die Datei example-policies.reg im selben Ordner enthält diese Werte mit Kommentaren.

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter]
"EnableServerManagement"=dword:00000000
"EnableAutoUpdater"=dword:00000000
"DefaultUsername"="%USERNAME%"

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter\DefaultServerList]
"Chat"="https://chat.example.com"

macOS: ein Konfigurationsprofil

Unter macOS liest die App ihre Einstellungen aus den verwalteten Präferenzen ihres Bundle-Identifikators chat.antimatter.desktop mit den Schlüsseln aus der Einstellungenstabelle. Stellen Sie sie als Konfigurationsprofil über Ihr MDM (Jamf, Intune, Kandji, Mosyle und andere) bereit.

  • Der Ordner resources/mac/mdm im Repository der App enthält ein Beispielprofil, antimatter.mobileconfig. Passen Sie dessen Werte an, vergeben Sie eigene Werte für PayloadIdentifier und PayloadUUID (uuidgen erstellt neue UUIDs) und laden Sie es als benutzerdefiniertes Profil hoch.
  • Die meisten MDMs akzeptieren auch nur die Schlüssel als „Benutzerdefinierte Einstellungen“- oder „Präferenzbereich“-Payload für chat.antimatter.desktop. Im selben Ordner finden Sie diese in example-managed-preferences.plist.

Die Einstellungen im Payload des Profils:

<key>PayloadType</key>
<string>chat.antimatter.desktop</string>
<key>DefaultServerList</key>
<array>
    <dict>
        <key>name</key>
        <string>Chat</string>
        <key>url</key>
        <string>https://chat.example.com</string>
    </dict>
</array>
<key>DefaultUsername</key>
<string>%USER%</string>
<key>EnableServerManagement</key>
<false/>
<key>EnableAutoUpdater</key>
<false/>

Boolesche Werte können auch als die Ganzzahlen 0 und 1 angegeben werden.

Linux: die Policy-Datei

Unter Linux liest die App /etc/antimatter-desktop/policies.json, ein JSON-Objekt mit den Schlüsseln aus der Einstellungenstabelle:

{
    "DefaultServerList": [
        {"name": "Chat", "url": "https://chat.example.com"}
    ],
    "DefaultUsername": "%USER%",
    "EnableServerManagement": false,
    "EnableAutoUpdater": false,
    "TrustedEmbeddedMediaOrigins": []
}

Stellen Sie es mit Ihrem Konfigurationsverwaltungstool (Ansible, Puppet, Salt und andere) bereit, mit root als Eigentümer, lesbar für alle und nur für root schreibbar:

sudo install -d /etc/antimatter-desktop
sudo install -m 644 policies.json /etc/antimatter-desktop/policies.json

Eine Datei, die kein gültiges JSON ist, wird ignoriert, mit einer Warnung im Protokoll der App. Die Flatpak-Version sieht das /etc des Hosts nicht: Gewähren Sie ihr Lesezugriff, und sie liest die Datei aus /run/host/etc/antimatter-desktop/policies.json:

sudo flatpak override --system --filesystem=host-etc:ro chat.antimatter.desktop

Richtlinien, die für die Mattermost-Desktop-App festgelegt wurden

Unter Windows liest die App als Fallback auch die für die Mattermost-Desktop-App festgelegten Richtlinien unter SOFTWARE\Policies\Mattermost. Sie liest diese nach Ort: die Werte direkt unter dem Richtlinien-Schlüssel, den Unterschlüssel DefaultServerList und den Unterschlüssel TrustedEmbeddedMediaOrigins. Für jeden dieser drei Orte liest sie den Mattermost-Schlüssel nur dann, wenn der Antimatter-Schlüssel dort in keinem der beiden Hives Werte enthält. Sobald also ein Wert direkt unter dem Antimatter-Schlüssel festgelegt ist, beispielsweise über die AUTOUPDATE-Eigenschaft des MSI, werden keine der Werte direkt unter dem Mattermost-Schlüssel mehr gelesen. Verschieben Sie alle Ihre Richtlinien auf einmal in den Antimatter-Schlüssel.

Unter macOS werden die verwalteten Einstellungen der Mattermost-Desktop-App (com.mattermost.desktop) nicht gelesen: Legen Sie diese für chat.antimatter.desktop fest.

Nicht signierte Builds

Die Builds der Desktop-App sind noch nicht mit einem Herausgeberzertifikat signiert.

  • Windows. Wenn eine Person eine heruntergeladene .exe- oder .msi-Datei öffnet, meldet Microsoft Defender SmartScreen, dass Windows den Computer geschützt hat, und nennt einen unbekannten Herausgeber. Die Person wählt Weitere Informationen und dann Trotzdem ausführen. SmartScreen prüft Dateien, die nach einem Download geöffnet werden, daher sehen Personen diese Warnung nicht, wenn Sie die App über SCCM, Intune oder Gruppenrichtlinien bereitstellen. Wenn Ihre Computer nur Software von genehmigten Herausgebern ausführen (AppLocker- oder App Control for Business-Regeln), erlauben Sie die App stattdessen über ihren Installationspfad oder den Dateihash.
  • macOS. Die App ist ad hoc signiert, aber nicht von Apple notariert. Beim ersten Öffnen einer heruntergeladenen Kopie meldet macOS, dass es nicht überprüfen kann, ob die App frei von Malware ist, und öffnet sie nicht. Unter macOS 15 und neuer öffnen die Personen Systemeinstellungen › Datenschutz & Sicherheit und wählen Trotzdem öffnen. Unter früheren Versionen klicken sie mit der Steuerungs-Taste auf die App und wählen Öffnen. Gatekeeper prüft nur Dateien, die als heruntergeladen markiert sind (mit dem Quarantäne-Attribut): Wenn Sie die App mit Ihren eigenen Tools installieren, entfernen Sie die Markierung in Ihrem Installationsskript mit xattr -dr com.apple.quarantine /Applications/Antimatter.app.