Win/Mac installer: Pack documentation into single file

I have a corporate laptop that I use rust on. I use winget and homebrew (win/mac) to update the rust compiler. The problem is I can't disable the corporate AV system. This tends not to be a problem unless an intaller installs many files that AV needs to check. The rust intaller installs 49,370 files. Of those, 49,216 files are in shared/doc (99.7%).

This causes the rust installation process to take 15+ minutes because the AV chokes on the doc files.

Feature request: Improve the installation process by reducing the file count of the installation systm. Options:

  1. Pack the doc files into a zip/bzip/tgz file for manual unpack (or provide CLI command)
  2. Remove docs from installation and only use online docs
  3. Provide CLI command to donwload docs on request
  4. Provide separate, doc-less install file
  5. Modify Win/Mac install and provide a checkbox to install docs.

If you use rustup you can choose not to install the doc component (in fact I don't think it is installed by default).

I don't believe the rust project is responsible for the winget or homebrew install methods, you should discuss that with those projects.

1 Like

Fair enough, if that is what winget pulls. I don't use windows, so I have no idea how that works. It wouldn't apply to the homebrew case though.

Rustup really is the more convenient path for developers though, since it can handle multiple different versions side by side, including nightly ones (which can be useful for some types of debugging like sanitizers even if you don't develop for nightly).

This is a winget problem, then. rustup used to have the same issue, but it did the necessary work to multi-thread the closing of the file descriptors, and now it completes quick quickly even with antagonistic antivirus scanners, despite the large number of files.

1 Like

See also this talk:

2 Likes

Have you filed a bug with the AV vendor? It sounds like their performance is bad, perhaps they can parallelize things.

Ah, is MSI serial or parallel?

Well, even if the parts themselves aren't bad, if they're arranged in such a way that even the people owning the parts regularly write things that work poorly with it -- winget and MSI are shipped and written by Microsoft -- then arguably they are "that bad" at least in combination.

(Especially if it's a closed-source thing that is never used outside that arrangement.)

1 Like