[MSI] Figure out what to do about CARGO_HOME
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 22h 40m
- Merged PRs (30d)
- 46
Description
(This only concerns the new MSI installer for Windows.)
When setting CARGO_HOME as a process-local environment variable for msiexec, it will not be visible. I couldn't find any documentation about this behavior, but I tried and couldn't get it to work. Setting it at the user-level works, though. The question is: Is CARGO_HOME only used for setting a mock path for testing, or is there any other use case? There is a better way in MSI to modify the desired install location, namely setting the TARGETDIR property from the command-line for msiexec.
When we continue to use CARGO_HOME to set the installation directory, we would have to somehow ensure that its value is the same when uninstalling, or save the path in the registry that was used for installing.
Some of this also applies to RUSTUP_HOME, but in general the situation is less critical here. Whenever the directory specified in RUSTUP_HOME does not exist, rustup will just create a new directory and use that one.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the MSI installer handling of CARGO_HOME and RUSTUP_HOME, along with msiexec's TARGETDIR behavior described in the issue. Determine the supported installation-path mechanism and ensure installation and uninstallation use the same path; done means the chosen behavior is documented and works consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- release
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100