Skip to content

In-app updates via AppUpdater #12

Description

@trsdn

Goal

PrintFileManager should update itself, and with it its Quick Look extension.

Specific to this repository

  • Broker profile: printfilemanager (Xcode, universal). Add printfilemanager-{version}.dmg as a copy_of PrintFileManager-v{version}-macOS-universal.dmg.
    • AppUpdater matches the lowercase repository name.
    • The DMG must contain exactly PrintFileManager.app.
  • Unsigned ZIP: the release also carries PrintFileManager-v…-macOS-arm64-unsigned.zip from release.yml. That's harmless for AppUpdater, which only looks at DMGs, but release.yml must never upload a DMG under the updater's name.
  • Xcode build: the profile must declare AppUpdater_AppUpdater.bundle, and the adapter should use a broker lock with -onlyUsePackageVersionsFromResolvedFile (see feat: AppUpdater support for openlens, with release publishing macos-notarization-broker#43).
  • Before installing, stop any running indexing or enrichment work.

Reference implementation

This is the same setup as OpenLens, OpenDefendrWatchr, OpenZombr and OpenConnct, all released on 2026-09-16:

To do

  • Add AppUpdater 4.1.2 (exact version) and commit Package.resolved.
  • Add an UpdateManager and menu items, and stop the app's work before installing.
  • Broker: add the dependency lock, the resource bundle declaration if needed, and the printfilemanager-{version}.dmg copy_of artifact.
  • Release with scripts/request.sh printfilemanager vX.Y.Z --publish.
  • After two releases, test a real update on a Mac other than the build machine.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions