Skip to content

Release desktop builds for direct download with an installer and self-updater #2539

Open

Description

@Keavon

Our goal is to have Graphite update just as easily as apps like Chrome, Firefox, VS Code, and Discord.

Windows

For .msi installers, we should probably use the open source installer generator, Inno Setup, which is also notably used by VS Code and Git for Windows. And then probably roll our own auto-updater, which might use Inno Setup to install updates with the /SILENT flag. Some background research here and here. We can reference the 2.5k lines of Rust code in Inno Updater written by Microsoft for updating VS Code. There is also this recent and very detailed explanation about the flow and recent robustness improvements Microsoft made to it.

Mac

TODO: Investigate how to create a .dmg installer, including custom background graphics to make the drag-into-Applications-folder process clear. We will probably need to roll our own auto-updater for this platform as well, hopefully with some code reuse. But Squirrel, used by Electorn and VS Code, or Sparkle, could be other options if they aren't complex to integrate in our Rust codebase and give enough flexibility so we can do our own update checks and UI. Investigation will be required to figure out how to self-update the contents of an app package.

Linux

TODO: Distribute the ELF file and dependencies in a .zip? Is there any other sort of self-unpacking installer besides a ZIP we can use instead? Can we roll an auto-updater for this too? This would be in addition to distribution through common package managers: #584.

Activity

  1. added
    ArchitectureInvolves architecture or engineering work or discussion
    on Apr 9, 2025
  2. added theissue type on Apr 9, 2025
  3. changed the title [-]Deploy executables and an updater for Tauri builds in CI and for download[/-] [+]Release desktop builds for direct download with a self-updating installer[/+] on Apr 9, 2025
  4. changed the title [-]Release desktop builds for direct download with a self-updating installer[/-] [+]Release desktop builds for direct download with an installer and self-updater[/+] on Apr 9, 2025
  5. moved this from Short-Term to Blocked in Task Boardon Apr 9, 2025
  6. changed the issue type fromtoon Apr 9, 2025
  7. added
    DesktopNative desktop API work with Windows/Mac/Linux and CEF
    on Aug 4, 2025
  8. moved this from Backlog to Distribution in Desktop Applicationon Aug 4, 2025
  9. moved this from Blocked to Short-Term in Task Boardon Sep 2, 2025
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

    ArchitectureInvolves architecture or engineering work or discussionDesktopNative desktop API work with Windows/Mac/Linux and CEFInfrastructureBuild systems and CI

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions