aws-cli icon indicating copy to clipboard operation
aws-cli copied to clipboard

Windows installer is very slow

Open otto-liljalaakso-nt opened this issue 9 months ago • 7 comments

Describe the bug

I manage software on my Windows machine via WinGet. Periodically, I run winget upgrade --all to upgrade versions. In general, this works very smoothly, but AWS CLI is an outlier here. The installer is very slow in upgrading, taking tens of seconds, if not several minutes to get its job done. Even complicated and large software such as browsers and IDEs update faster. The issue is worsened by the very fast upgrade cycle of AWS CLI v2, which means that the slow installer runs basically every time WinGet runs.

Please look into making the Windows installer faster.

Regression Issue

  • [ ] Select this option if this issue appears to be a regression.

Expected Behavior

Install completes in seconds

Current Behavior

Install completes, but takes tens of seconds, if not minutes

Reproduction Steps

Depending on if AWS CLI is already installed:

winget install Amazon.AWSCLI
winget upgrade Amazon.AWSCLI

Possible Solution

No response

Additional Information/Context

No response

CLI version used

2

Environment details (OS name and version, etc.)

Windows 11

otto-liljalaakso-nt avatar Mar 31 '25 06:03 otto-liljalaakso-nt

Hi @otto-liljalaakso-nt, thanks you for reaching out and for your patience.

The AWS CLI does not support third-party package managers such as WinGet; the WinGet AWS CLI page isn't actually owned by AWS.

In my testing, using the msiexec command mention in the installation guide, AWS CLI v2 installed in about 40 seconds. Are you seeing significantly higher times than that using that installation method?

RyanFitzSimmonsAK avatar Jul 17 '25 20:07 RyanFitzSimmonsAK

It looks like WinGet in using that same installer, and is snappy for some other packages. So I expect that using WinGet to drive installation is not significant here. So to stay with your supported installers policy, we can restrict this issue to official methods.

I had problems timing the msiexec.msi method, so I used the "download and install" path here instead.

  1. Downloading https://awscli.amazonaws.com/AWSCLIV2-2.27.54.msi
  2. Starting the installer with ./AWSCLIV2-2.27.54.msi
  3. Clicking through the GUI installer, using default options
  4. Measuring the time from final click of Install until I see the GUI notification about completed install

Result: 56 seconds.

Then I tested the upgrade case by downloading https://awscli.amazonaws.com/AWSCLIV2-2.27.55.msi and following the same sequence. Result: 4 minutes 44 seconds.

Finally, I clocked uninstall by starting it from Windows Settings and measuring the time until the GUI progress bar disappears. Result: 2 minutes 56 seconds.

I do not care much for fresh install and uninstall times, because those are rare operations. On the other hand, I consider the time needed to upgrade a problem for fast releasing tool like AWS CLI.

otto-liljalaakso-nt avatar Jul 21 '25 09:07 otto-liljalaakso-nt

JFYI: although Winget is a community-maintained repository of package manifests, it does download the actual install artifacts from official sources.

https://github.com/microsoft/winget-pkgs/blob/master/manifests/a/Amazon/AWSCLI/2.27.55/Amazon.AWSCLI.installer.yaml

kellertk avatar Jul 21 '25 17:07 kellertk

I do not care much for fresh install and uninstall times, because those are rare operations. On the other hand, I consider the time needed to upgrade a problem for fast releasing tool like AWS CLI.

Makes sense. I did some testing on the time to upgrade v2 and it was pretty consistent at about three minutes.

2.18.0 0m51s (fresh install)
2.19.0 3m02s
2.20.0 3m10s
2.21.0 3m08s
2.22.0 2m59s
2.23.0 3m12s
2.24.0 3m11s
2.25.0 3m07s
2.26.0 3m06s
2.27.0 3m04s
2.28.0 3m09s
2.29.0 3m05s
2.30.0 3m12s
2.31.3 3m06s

I'm going to bring this issue up for review with the team to see if this is something we can improve, or if these times being considerably longer than a fresh install is expected.

RyanFitzSimmonsAK avatar Sep 26 '25 21:09 RyanFitzSimmonsAK

It takes more than 15 minutes to update 24MB package while 1.5GB Visual Studio update takes 5 min including downloading.

zamirov avatar Oct 02 '25 09:10 zamirov

After review, we've taken a backlog item to investigate why the update times are much longer than the fresh installation times, and will update this issue when we know more.

RyanFitzSimmonsAK avatar Oct 10 '25 23:10 RyanFitzSimmonsAK

👍 This is becoming a critical issue for large fleet deployments. I'm at 10 minutes and still not done.

corby avatar Oct 27 '25 18:10 corby