Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

64-bit .exe installer for windows has wrong default directory #24397

Closed
Diggsey opened this issue Apr 14, 2015 · 15 comments · Fixed by #72569
Closed

64-bit .exe installer for windows has wrong default directory #24397

Diggsey opened this issue Apr 14, 2015 · 15 comments · Fixed by #72569
Labels
C-bug Category: This is a bug. O-windows Operating system: Windows P-low Low priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Comments

@Diggsey
Copy link
Contributor

Diggsey commented Apr 14, 2015

The .exe installer tries to install to "C:\Program Files (x86)\Rust", even though it's the 64-bit version. It then fails to create the destination directory due to a permission error.

The .msi installer correctly defaults to "C:\Program Files\Rust ", and has no problems with permissions, I would expect the .exe installer to have the same behaviour.

@sfackler sfackler added the O-windows Operating system: Windows label Apr 14, 2015
@alexchandel
Copy link

Rust should install to C:\tools\, just like Ant, Python, and many others. C:\tools\ is the place for developer tools that have a known folder. C:\Program Files\ is badly named (compare to C:\ProgramData\), poorly suited for command line tools, and clutters the already hideous PATH more than C:\tools\.

@steveklabnik
Copy link
Member

/cc @brson

@Diggsey
Copy link
Contributor Author

Diggsey commented Apr 28, 2015

Rust should install to C:\tools, just like Ant, Python, and many others.

Neither Ant nor Python install to C:\tools\ by default, and searching I can't find any reference to C:\tools\ even being a thing? Both Python and Ant install to C:\Python and C:\ant, which is incredibly annoying, so please don't do that!

@alexchandel
Copy link

@Diggsey I might be mistaken, but installing both through chocolatey stuck them in C:/tools/ for me. I'd recommend anyone with a machine running Vista or later use chocolatey. And there's a trend in chocolatey to have packages extract to C:/tools/ when they aren't self-contained enough for C:/ProgramData/chocolatey/lib/.

@alexchandel
Copy link

For an OS without much filesystem hierarchy, C:\tools\ is a decent place for developer and command-line packages, similar to /opt on some unices. But I'd much rather see a chocolatey package for Rust that actually obeyed chocolatey's conventions and extracted an archive to C:\ProgramData\chocolatey\lib\rust\, with no installer/registry involvement. But Rust only provides msi and exe installers for windows. :\

And all packages that do this reduce PATH clutter, since chocolatey symlinks their executables into C:\ProgramData\chocolatey\bin\.

@vadimcn
Copy link
Contributor

vadimcn commented Apr 29, 2015

The idea was to deprecate the .exe installer once .msi is known to be working satisfactory.

@alexchandel
Copy link

@vadimcn Can we have a zip release too, that contains Rust and Cargo like the others? Linux and OS X have an archive release. Those are preferred in chocolatey because they don't involve the registry or any other Windows components.

@brson
Copy link
Contributor

brson commented May 1, 2015

@alexchandel We do produce tarballs for windows.

@brson
Copy link
Contributor

brson commented May 1, 2015

Seems like we should probably just stop producing the .exe's. That fix would go in https://github.com/rust-lang/rust-packaging.

@alexchandel
Copy link

@brson I don't see a cargo+rustc nightly tarball for windows, although I do see ones for linux and osx.

@steveklabnik
Copy link
Member

triage: We do not link to the .exe installer anymore, but we still produce them. I don't have access to windows at the moment to check if this bug has been resolved, but it's been a long time...

@alexchandel
Copy link

Grabbing the Windows download link from downloads and swapping the .msi for .tar.gz yields a functional link to the tarball, which is nice.

Testing on win7-x64, the MSI extracts with lessmsi, but the directory structure is somewhat unusual so there's no one-liner to get the Rust folder out. The best I came up with was:

lessmsi x rust-foo.msi \opt\ && move \opt\SourceDir\Rust \opt\rust && rmdir /s /q \opt\SourceDir

This yields a Rust install rooted at \opt\rust.

However now that rustup.rs exists, multiple targets aren't really an issue anymore. Someone should make a Chocolatey package for rustup.rs...

@alexcrichton alexcrichton added the P-low Low priority label Aug 22, 2016
@Mark-Simulacrum
Copy link
Member

Can someone with access to Windows check what happens here today?

@Diggsey
Copy link
Contributor Author

Diggsey commented May 12, 2017

@Mark-Simulacrum The latest version installs to C:\Rust instead, which works, but is a terrible default.

@Mark-Simulacrum Mark-Simulacrum added T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. and removed A-infrastructure labels Jun 25, 2017
@Mark-Simulacrum Mark-Simulacrum changed the title 64-bit .exe installer for windows is broken 64-bit .exe installer for windows has wrong default directory Jun 25, 2017
@Mark-Simulacrum Mark-Simulacrum added the C-bug Category: This is a bug. label Jul 22, 2017
@steveklabnik
Copy link
Member

Triage:

image

This seems... fine. I'm not sure if this should stay open or not; I'll let the relevant team (infra? compiler?) decide.

Manishearth added a commit to Manishearth/rust that referenced this issue Jul 2, 2020
…omatsakis

Remove legacy InnoSetup GUI installer

On Windows the InnoSetup `.exe` installer was superseded by the MSI installer long ago. It's no longer needed.

The `.exe` installer hasn't been linked from the [other installation methods](https://forge.rust-lang.org/infra/other-installation-methods.html#standalone) page in many years. As far as I can tell the intent was always to remove this installer once the MSI proved itself. Though admittedly both installers feel very "legacy" at this point.

Removing this would mean we only maintain one Windows GUI installer and would speed up the distribution phase.

As a result of removing InnoSetup, this closes rust-lang#24397
Manishearth added a commit to Manishearth/rust that referenced this issue Jul 2, 2020
…omatsakis

Remove legacy InnoSetup GUI installer

On Windows the InnoSetup `.exe` installer was superseded by the MSI installer long ago. It's no longer needed.

The `.exe` installer hasn't been linked from the [other installation methods](https://forge.rust-lang.org/infra/other-installation-methods.html#standalone) page in many years. As far as I can tell the intent was always to remove this installer once the MSI proved itself. Though admittedly both installers feel very "legacy" at this point.

Removing this would mean we only maintain one Windows GUI installer and would speed up the distribution phase.

As a result of removing InnoSetup, this closes rust-lang#24397
Manishearth added a commit to Manishearth/rust that referenced this issue Jul 2, 2020
…omatsakis

Remove legacy InnoSetup GUI installer

On Windows the InnoSetup `.exe` installer was superseded by the MSI installer long ago. It's no longer needed.

The `.exe` installer hasn't been linked from the [other installation methods](https://forge.rust-lang.org/infra/other-installation-methods.html#standalone) page in many years. As far as I can tell the intent was always to remove this installer once the MSI proved itself. Though admittedly both installers feel very "legacy" at this point.

Removing this would mean we only maintain one Windows GUI installer and would speed up the distribution phase.

As a result of removing InnoSetup, this closes rust-lang#24397
@bors bors closed this as completed in fb976e6 Jul 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. O-windows Operating system: Windows P-low Low priority T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants