Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upRust .msi installer ignores current install #26765
Comments
This comment has been minimized.
This comment has been minimized.
|
Note: this issue is about installing a new version of Rust over an old version in the same folder. It doesn't concern installing separate versions of Rust in separate folders. An "Update" option to the installer that automatically selects the current Rust install path would be great as well, as it currently suggests something rather arbitrary, |
abonander
referenced this issue
Jul 4, 2015
Open
The .msi installer freezes if you try to overwrite an existing Rust installation #26758
This comment has been minimized.
This comment has been minimized.
|
I think because the name of the software changes with each version of Rust, the msi installation system ends up thinking that they are two different pieces of software and thus doesn't recognize the old version to ask you what you want to do with it. Ideally the installer would detect if there is an existing installation of Rust in the folder you're installing to and automatically uninstall the old one, but I'm not sure how to do that with msi. |
This comment has been minimized.
This comment has been minimized.
|
It's disappointing because the .exe installer did this. It was my preferred method of updating when it was still available. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
The .msi installer only updates versions which have the same (platform,channel,major,minor) tuple. For example it will update nightly 1.3.X -> 1.3.Y in-place. Everything else is treated as different software version - to enable installing them side-by side (which the .exe version did not allow). The detection is based on versions stored in the registry, not on the installation path. |
This comment has been minimized.
This comment has been minimized.
|
That's an issue because I only really bother to update when the minor version gets bumped, as I expect is the same with many people. And, like I said, this is a pretty big discrepancy when you look at how easy it is to install and update Rust on the *nixes, package manager or otherwise. Why does the Rust installer care about side-by-side installs anyways? Can't |
This comment has been minimized.
This comment has been minimized.
This is based partly on my own preferences and partly because Python also does upgrades this way.
Multirust is a shell script that uses a bunch of unix command line tools, so it won't work on Windows without msys. |
steveklabnik
added
the
A-infrastructure
label
Jul 6, 2015
brson
added
T-tools
I-nominated
labels
Jul 6, 2015
This comment has been minimized.
This comment has been minimized.
|
Nominating because this is surprising behavior to a lot of people. |
This comment has been minimized.
This comment has been minimized.
|
triage: P-medium Would love to fix, but doesn't seem super high priority right now. |
rust-highfive
added
P-medium
and removed
I-nominated
labels
Jul 20, 2015
This comment has been minimized.
This comment has been minimized.
J0s3f
commented
Sep 30, 2015
|
This is very confusing for new users.
Google brought me here and I understand now that I shouldn't have installed Rust in the old directory, but still very confusing behaviour. I just wish the updates for Rust in msys2 would come faster. |
alexcrichton
added
A-tools
and removed
T-tools
labels
Jan 27, 2016
This comment has been minimized.
This comment has been minimized.
Aldlevine
commented
Mar 8, 2016
|
To add to this issue, I'm not sure if this is specific to the .msi installer over the .exe installer, but it also appends the new directory to the PATH rather than replacing the current instance. This caused my system to prefer the old version rather than the new version and I had to update my PATH manually. |
This comment has been minimized.
This comment has been minimized.
|
cc #35653 |
brson
added
the
P-low
label
Aug 22, 2016
alexcrichton
removed
the
P-medium
label
Aug 22, 2016
steveklabnik
added
T-tools
and removed
A-tools
labels
Mar 24, 2017
Mark-Simulacrum
added
T-dev-tools
and removed
T-tools
labels
May 24, 2017
Mark-Simulacrum
added
T-infra
and removed
A-infrastructure
labels
Jun 25, 2017
Mark-Simulacrum
added
the
C-bug
label
Jul 22, 2017
This comment has been minimized.
This comment has been minimized.
|
Triage: I'm not totally sure, and frankly don't want to try and reproduce and mess up my local install, heh. I'm not sure how important this is these days, in the world of rustup. |
abonander commentedJul 3, 2015
One of the convenient features of the defunct .exe installer is it would remove old library archives before installing new ones, so that one could update Rust just by running over the current install. The .msi installer does not do this, it just naively installs the new libraries next to the old ones, and Rust can't figure out which to use:
I can't simply update my Rust install anymore. I have to remove the old libraries either manually or by running the Rust uninstaller. This is a major convenience discrepancy compared to using Rust on the Unix-based platforms.