Skip to content

App-Typen & Strategien

App-TypContainer-KlassifizierungMigrationsstrategieSperrschutzHinweise
Native macOS-App (ohne Selbstupdate)standaloneAppmacOS Stub PortalNeinz. B. Safari, Finder
Sparkle-Selbstupdate-AppstandaloneAppmacOS Stub PortalJaz. B. einige Indie-Entwickler-Apps
Electron-App (ohne app-update.yml)standaloneAppmacOS Stub PortalNeinz. B. VS Code
Electron-App (mit app-update.yml)standaloneAppmacOS Stub PortalJaz. B. Slack, Discord
Electron + Sparkle Hybrid-AppstandaloneAppmacOS Stub PortalJaBeide Flags unabhängig erkannt
Custom-Updater-Apps (Chrome, Edge)standaloneAppmacOS Stub PortalNeinIdentifiziert über LaunchServices, KSProductID usw.
iOS-App (Mac-Version)standaloneAppiOS Stub PortalNeinIcons aus WrappedBundle extrahiert; keine Signierung
Mac App Store-AppstandaloneAppmacOS Stub PortalNeinSIP-Schutz; kann nicht neu signiert werden
Einzelner App-Container-OrdnersingleAppContainerWhole App SymlinkNeinVerzeichnis mit nur 1 .app; Whole Symlink
App-Suite-Verzeichnis (z. B. Office)appSuiteFolderWhole App SymlinkAbhängig von internen AppsVerzeichnis mit 2+ .app; Whole Symlink
Nicht-.app-PfadWhole App SymlinkPfad mit Erweiterung außer .app

⚠️ Über Sperrschutz

Wenn eine App als Sperrung benötigend markiert ist (needsLock = true), führt AppPorts nach Abschluss der Migration chflags -R uchg auf der externen Speicher-App aus und setzt das immutable Flag. Dies verhindert, dass Selbst-Updater die externe Kopie löschen oder ändern, bedeutet aber auch, dass die App sich nicht selbst aktualisieren kann. Benutzer müssen die App vor einem Update manuell in AppPorts entsperren.

💡 Warum Custom-Updater-Apps nicht gesperrt werden

Apps, die Custom-Updater wie Chrome und Edge verwenden, werden nicht gesperrt. Diese Apps' Updater installieren neue Versionen typischerweise in den lokalen internen Speicher. Aufgrund der Link-Isolations-Eigenschaften von macOS Stub Portal werden App-Dateien auf dem externen Speicher nicht beschädigt.

Wenn AppPorts erkennt, dass die App-Version auf dem lokalen internen Speicher höher ist als auf dem externen Speicher, markiert es die App automatisch mit „Ausstehende Migration" und fordert den Benutzer auf, die neueste Version zu synchronisieren.

最近更新