Installation av skrivbordsappen

Så här installerar du Antimatters skrivbordsapp på datorer i ett företag eller en skola, och ställer in servrar, användarnamn och uppdateringskontroller centralt på Windows, macOS och Linux.

Ladda ner appen

Skrivbordsappens versioner finns på GitHub, på github.com/AntimatterChat/desktop-app/releases. Precis som servern är appen i beta: en version med ett suffix efter ett bindestreck är markerad som Pre-release. Varje version har en SHA256SUMS-fil med kontrollsummor för alla filer. Kontrollera en nedladdning med sha256sum --check --ignore-missing SHA256SUMS på Linux, eller jämför utdata från Get-FileHash <file> -Algorithm SHA256 i PowerShell med motsvarande rad i SHA256SUMS.

  • Windows (x64 och arm64): en .exe-installerare, ett .msi-paket eller ett .zip-arkiv. Till exempel antimatter-desktop-<version>-win-x64.exe och antimatter-desktop-<version>-win-x64.msi.
  • macOS: en .dmg-diskbild eller ett .zip-arkiv, för Apple silicon (arm64), Intel-Macs (x64) eller båda (universal).
  • Linux (x64 och arm64): ett .deb- eller .rpm-paket, en AppImage, en Flatpak-bundle eller ett .tar.gz-arkiv.

Vilken Windows-installerare du ska använda

.exe-installeraren.msi-paketet
FörPersoner som installerar appen självaFöretag som installerar den på sina datorer
InstallationEndast för det aktuella Windows-kontot, i %LOCALAPPDATA%\Programs\antimatter-desktop, utan administratörsrättigheterFör alla användare av datorn, i C:\Program Files\Antimatter, med administratörsrättigheter
UppdateringarAppen söker efter nya versioner och erbjuder att ladda ner den nya .exe-filen, vilket uppdaterar den installerade kopian på platsAppen söker inte efter nya versioner: du installerar dem

Appen söker efter nya versioner på GitHub, varje timme medan den är igång, och ser endast färdiga utgåvor, inte förhandsutgåvor. När den hittar en ny version informeras användaren och en länk för att ladda ner den erbjuds. En kopia som installerats med MSI söker inte efter uppdateringar som standard, eftersom användarna oftast inte kan installera programvara. Du kan aktivera kontrollerna för den med inställningen EnableAutoUpdater: den nedladdning som då erbjuds är den nya .msi-filen, som kräver administratörsrättigheter.

Använd MSI för hanterad distribution med SCCM (Configuration Manager), Intune eller installations av programvara via gruppriktlinjer. Installation av MSI tar bort .exe-kopian för det konto som kör installationen, om det finns en sådan.

De inställningar du kan hantera

Samma inställningar finns på alla system. På Windows är de registervärden under SOFTWARE\Policies\Antimatter, i HKEY_LOCAL_MACHINE (för datorn) eller HKEY_CURRENT_USER (för en enskild användare). På macOS och Linux är de nycklar i de hanterade preferenserna eller i policyfilen.

InställningPå WindowsPå macOS och LinuxVad den gör
DefaultServerListEn undernyckel med ett strängvärde per server: värdens namn är namnet på dess flik, och datan är dess URLEn matris av ordförråd (objekt på Linux) med name och urlLägger till servrar i appen. Användare kan inte redigera eller ta bort dem.
DefaultUsernameEn strängEn strängFyller i användarnamnet på inloggningssidan för dessa servrar.
EnableServerManagementEn DWORD, 0 eller 1Ett booleskt värde0 eller false: användare kan endast använda servrarna som är inställda med DefaultServerList, och appen döljer alternativen att lägga till, redigera och ta bort servrar. Ej inställt: användare kan lägga till egna servrar.
EnableAutoUpdaterEn DWORD, 0 eller 1Ett booleskt värde0 eller false: appen söker aldrig efter nya versioner och döljer Sök efter uppdateringar. 1 eller true: den söker, även om den är installerad med MSI. Ej inställt: .exe-kopian söker, MSI-kopian gör det inte.
TrustedEmbeddedMediaOriginsEn undernyckel med strängvärden, där varje värde är ett JSON-objekt med serverOrigin och embeddedOriginEn matris av ordförråd med serverOrigin och embeddedOriginLåter innehåll som är bäddat in i en serversidor, till exempel en videomötessida, använda kamera- och mikrofonbehörigheterna som beviljats för den servern.
  • Användarnamnet fylls i endast på inloggningssidan för de servrar som är inställda via policy, aldrig på en server som en person har lagt till, och aldrig över det någon har skrivit. Användare kan fortfarande ändra det. Miljövariabler mellan procenttecken ersätts, så ett värde passar alla: %USERNAME% på Windows eller %USER% på macOS och Linux ger kontonamnet, och %USERNAME%@example.com en e-postadress som följer detta mönster. Om en variabel inte är inställd fyller appen i inget.
  • Om du stänger av serverhantering, ange minst en server i DefaultServerList.
  • På Windows har en datorpolicy (HKEY_LOCAL_MACHINE) företräde framför en användarpolicy (HKEY_CURRENT_USER). Serverlistorna för båda kombineras.
  • Appen läser inställningarna vid start: efter en ändring måste användare avsluta och öppna den igen.

Windows: tyst installation med MSI

MSI-filen tar emot publika egenskaper som skriver inställningarna som datorpolicier, i HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter. Använd dem i en SCCM-applikation, en Intune-app eller ett skript. I PowerShell:

msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
EgenskapSkriverOm inte angiven
SERVERURLEn server i DefaultServerList, med denna URLIngen server
SERVERNAMENamnet på fliken för den servernAntimatter
DEFAULTUSERNAMEDefaultUsernameIngenting
AUTOUPDATEEnableAutoUpdater, 0 eller 1Ingenting: MSI-kopian söker inte efter uppdateringar
SERVERMANAGEMENTEnableServerManagement, 0 eller 1Ingenting: användare kan lägga till servrar
  • En egenskap som inte anges skriver inget, så den skriver inte över ett värde som är inställt via Group Policy. AUTOUPDATE och SERVERMANAGEMENT accepterar endast 0 eller 1. MSI-filen anger en server: använd Group Policy för fler.
  • DEFAULTUSERNAME måste nå installationsprogrammet som texten %USERNAME%, så att appen ersätter den för varje person. Annars ersätter skalet som kör installationen den med sitt eget kontonamn. I PowerShell, behåll enkla citattecken. I en .bat-fil, skriv %%USERNAME%%. Efter en testinstallation, kontrollera i registret att DefaultUsername innehåller %USERNAME%.
  • Överge egenskaperna vid varje uppgradering. Installation av en ny version av MSI-filen tar bort den gamla, med de värden den skrev, och skriver sedan värdena från den nya kommandoraden. SCCM och Intune behåller kommandoraden för en applikation: återanvänd den för varje ny version. Eller ställ in policierna med Group Policy eller Intune istället, vilket uppgraderingar inte påverkar.
  • MSI:et och gruppriktlinjerna skriver samma registervärden. Använd antingen det ena eller det andra för varje inställning: om du avinstallerar MSI:et raderas de värden det skrev, även om gruppriktlinjerna också har satt dem.
  • MSI:et registrerar dess installationsmapp i HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop (InstallDir). Det är så appen vet att den installerades med MSI:et.

För att avinstallera: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. I Intune tar typen "Windows app (Win32)" samma kommandorader. För typen "Line-of-business app" lägger du till egenskaperna i dess kommandoradsargument.

Windows: Gruppriktlinjer och Intune

Administrationsmallarna, antimatter.admx och en-US\antimatter.adml, finns i mappen gpo i den installerade appen (C:\Program Files\Antimatter\gpo för MSI:et) och i mappen resources/windows/gpo i appens repository. De visar dessa riktlinjer, under Administrative Templates › Antimatter:

RiktlinjeRegistervärdeKonfiguration
Servers (DefaultServerList)Undernyckel DefaultServerListdator och användare
Användarnamn att förifylla (DefaultUsername)DefaultUsernamedator och användare
Låt användare lägga till och ta bort server (EnableServerManagement)EnableServerManagementdator och användare
Avisera om nya versioner (EnableAutoUpdater)EnableAutoUpdaterendast dator
Överkomliga inbäddade mediatillgångar (TrustedEmbeddedMediaOrigins)Undernyckel TrustedEmbeddedMediaOriginsdator och användare

Gruppriktlinjer i ett domänmiljö

  1. Kopiera antimatter.admx till centrala lagret, \\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, och antimatter.adml till dess en-US-mapp.
  2. I Gruppriktlinjehanteringens redigerare, öppna Computer Configuration (eller User Configuration) › Policies › Administrative Templates › Antimatter.
  3. Redigera en riktlinje, välj Aktiverat och fyll i den. För Servers, klicka på Visa och lägg till en rad per server: värdens namn är flikens namn, värdet är serverns URL, till exempel https://chat.example.com.

Att aktivera Låt användare lägga till och ta bort server eller Avisera om nya versioner skriver 1; att inaktivera skriver 0.

Intune

I Enheter › Konfiguration, använd Importera ADMX för att importera antimatter.admx med en-US\antimatter.adml. Skapa sedan en profil från Mallar › Importerade administrativa mallar och ställ in Antimatters riktlinjer i den.

En enskild dator, eller ett skript

Kopiera mallarna till C:\Windows\PolicyDefinitions för att använda dem i gpedit.msc (Windows Pro och Enterprise). Eller skriv in registervärdena direkt, med en .reg-fil som importeras som administratör (reg import antimatter-policies.reg), till exempel så här. Filen example-policies.reg i samma mapp innehåller dessa värden, med kommentarer.

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: en konfigurationsprofil

På macOS läser appen sina inställningar från de hanterade preferensinställningarna för dess bundle-id, chat.antimatter.desktop, med nycklarna från inställningstabellen. Distribuera dem med din MDM (Jamf, Intune, Kandji, Mosyle m.fl.) som en konfigurationsprofil.

  • Mappen resources/mac/mdm i appens repository innehåller en exempelprofil, antimatter.mobileconfig. Redigera dess värden, ge den egna värden för PayloadIdentifier och PayloadUUID (uuidgen skapar nya UUID:er) och ladda upp den som en anpassad profil.
  • De flesta MDM:er accepterar också bara nycklarna, som en last för "anpassade inställningar" eller "preferensdomän" för chat.antimatter.desktop. Samma mapp innehåller dem i example-managed-preferences.plist.

Inställningarna i profilens last:

<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/>

Booleska värden kan också anges som heltalen 0 och 1.

Linux: riktlinjefilen

På Linux läser appen /etc/antimatter-desktop/policies.json, ett JSON-objekt med nycklarna från inställningstabellen:

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

Distribuera den med ditt verktyg för konfigurationshantering (Ansible, Puppet, Salt m.fl.), ägd av root, läsbar för alla och skrivbar endast av root:

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

En fil som inte är giltig JSON ignoreras, med en varning i appens logg. Flatpak-versionen ser inte värdens /etc: ge den läsrätt, så läser den filen från /run/host/etc/antimatter-desktop/policies.json:

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

Riktlinjer som är inställda för Mattermosts skrivbordsapp

På Windows läser appen även de policyer som är inställda för Mattermosts skrivbordsapp, under SOFTWARE\Policies\Mattermost, som en reserv. Den läser dem efter plats: värdena direkt under policynyckeln, undernyckeln DefaultServerList och undernyckeln TrustedEmbeddedMediaOrigins. För var och en av dessa tre platser läser den Mattermost-nyckeln endast när Antimatter-nyckeln inte har några värden där, i någon av hive. Så när ett värde har satts direkt under Antimatter-nyckeln, till exempel av MSI:s AUTOUPDATE-egenskap, läses inga av värdena direkt under Mattermost-nyckeln. Flytta alla dina policyer till Antimatter-nyckeln på en gång.

På macOS läses inte Mattermosts skrivbordsapp hanterade preferenser (com.mattermost.desktop): ställ in dem för chat.antimatter.desktop istället.

Osignerade byggen

Skrivbordsappens byggen är inte ännu signerade med ett utgivarcertifikat.

  • Windows. När någon öppnar en nedladdad .exe eller .msi säger Microsoft Defender SmartScreen att Windows har skyddat datorn och nämner en okänd utgivare. De väljer Mer information och sedan Kör ändå. SmartScreen kontrollerar filer som personer öppnar efter en nedladdning, så personer ser inte denna varning när du rullar ut appen via SCCM, Intune eller gruppriktlinjer. Om dina datorer endast kör programvara från godkända utgivare (AppLocker- eller App Control for Business-regler), tillåt appen via dess installations sökväg eller filhash istället.
  • macOS. Appen är signerad ad hoc, men inte notariseras av Apple. Första gången någon öppnar en nedladdad kopia säger macOS att den inte kan verifiera att appen är fri från skadlig programvara och öppnar den inte. På macOS 15 och senare öppnar de Systeminställningar › Sekretess & Säkerhet och väljer Öppna ändå. På tidigare versioner gör de en Control-klick på appen och väljer Öppna. Gatekeeper kontrollerar endast filer som är markerade som nedladdade (med karantänattributet): när du installerar appen med egna verktyg, ta bort markeringen i installationskoden med xattr -dr com.apple.quarantine /Applications/Antimatter.app.