linebender / linebender/runebender

Best way to "package" the binaries to let users run it without installing Rust on their machine?

Open
#240 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
799
Forks
35
PR merge metrics
No merged PRs in 30d

Description

I'm going to show the UI to a few people at Dalton Maag, and the way we've managed to distribute the binary on Windows is:
* package together the .exe, the `resources` and `druid-theme-loader` folders
* make an MSI that upon installation creates a shortcut to the .exe, specifying that the current working directory must be set to the folder that contains `resources` and `druid-theme-loader` (otherwise the .exe crashes because it can't access them).

With that setup, it's possible to drag-and-drop a UFO onto the shortcut, and it opens in Runebender.

Are there any other things to consider that we didn't see here? Is there interest to automate that MSI thing on the repository here? Or is there maybe a better way using Rust-specific tools or conventions?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the repository's current Windows build and release configuration, then compare it with the described MSI layout: the .exe, resources, and druid-theme-loader folders. Determine whether automated MSI packaging should preserve the required working directory and drag-and-drop behavior; done means a repeatable installable package that runs without Rust installed.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.