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

WinLibs stuck at "Extracting archive..."

Open CalmhostAcct opened this issue 11 months ago • 4 comments

Brief description of your issue

Hello I was trying to Winlibs G++ compiler, but the catch it is stuck at "Extracting archive..."

Steps to reproduce

Do the command winget install BrechtSanders.WinLibs.POSIX.UCRT

Expected behavior

Install the program WinLibs.

Actual behavior

It is stuck at winget install BrechtSanders.WinLibs.POSIX.UCRT --verbose-logs Found WinLibs (POSIX threads, UCRT runtime) [BrechtSanders.WinLibs.POSIX.UCRT] Version 14.2.0-12.0.0-r2 This application is licensed to you by its owner. Microsoft is not responsible for, nor does it grant any licenses to, third-party packages. Successfully verified installer hash Extracting archive... forever

Environment

Windows Package Manager v1.9.25200
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.26100.2605
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.24.25199.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled

CalmhostAcct avatar Jan 14 '25 02:01 CalmhostAcct

A colleague and I had the same issue with winget install MartinStorsjo.LLVM-MinGW.MSVCRT. It is installing eventually, it just takes a lot of time without any feedback. I just did winget install BrechtSanders.WinLibs.POSIX.UCRT, it got stuck at "Extracting archive..." for 24 minutes, then it successfully finished.

Maybe there are some unanswered network requests that are timing out. I could also imagine a virus check. I forgot to check my task manager for higher antivirus activity.

@CalmhostAcct maybe you want to also post this issue on https://github.com/brechtsanders/winlibs_mingw?

adabru avatar Feb 28 '25 18:02 adabru

I can confirm the same issue with winget install EclipseFoundation.EclipseIDEforJavaDevelopers

FaserF avatar May 20 '25 06:05 FaserF

WinGet defaults to use Shell API (the old one without integrated libarchive) for extracting the ZIP archive. You can switch the extraction method to tar, which is way faster in my case.

SpecterShell avatar May 21 '25 14:05 SpecterShell

Thanks a lot, @SpecterShell!

For the lazy people that don't want to follow the links:

  • Run winget settings.
  • Add the installBehavior option. For me, the file looks like this after inserting it:
{
    "$schema": "https://aka.ms/winget-settings.schema.json",

    // For documentation on these settings, see: https://aka.ms/winget-settings
    // "source": {
    //    "autoUpdateIntervalInMinutes": 5
    // },
    "installBehavior": {
        "archiveExtractionMethod": "tar"
    },
}
  • Save the file and run winget install BrechtSanders.WinLibs.POSIX.UCRT again. No need to restart the terminal.
  • Be amazed that the 20+ minutes turned to less than 10 seconds.

adabru avatar May 21 '25 15:05 adabru