Remove more stuff at uninstall
- Dominant language
- Rust
- Stars
- 1.3k
- Forks
- 116
- Avg merge
- 12h 34m
- Merged PRs (30d)
- 19
Description
If we could get the `customInstallActions` permission for our store submission, we could use [this](https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-desktop6-custominstall) to remove arbitrary stuff at uninstall, for example all the Julia versions that were installed with `juliaup`.
In my mind this would make most sense as part of a more generic redesign of storage locations. At the moment, a Julia depot is really a mix of stuff that in an ideal world would automatically be uninstalled when Julia is uninstalled, and stuff that should stay around even after Julia is uninstalled. In particular, it seems to me that in an ideal world, the following things would all be uninstalled with Julia itself: `~/.julia/packages`, `~/.julia/compiled`, `~/.julia/registries` (at least if they are really, truly read-only cache copies from a server), `~/.julia/artifacts` and `~/.julia/juliaup`. I think ideally all those things would actually no longer be stored in `~/.julia`, but instead in say `%APPDATA%/Julia`, and then that folder gets removed at uninstall. The principle then would be that everything in `~/.julia` stays around at uninstall, but we have a new location for files that get removed when Julia is uninstalled. At some level this would be a split of the Julia depot system into two different kinds of files.
I think at the end of the day this change would have to happen in Julia itself first.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked Windows customInstallActions documentation and the Julia depot and storage design; no repository files or tests are named. Determine whether the storage split belongs in Julia or juliaup, define which paths are removed at uninstall, and establish acceptance criteria for the redesign before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100