Skip to content

Commit

Permalink
FIX: Extract zip win
Browse files Browse the repository at this point in the history
Related to #819

Changes consist in reordering extract utils to first attemps
ExtractToDirectory and then Expand-Archive. For some
reason the download CPython release was not correctly
handled by Expand-Archive. This could be happening if the
zip file was compressed using an unsupported
compression method (e.g. through `zip` with Unix/linux).
  • Loading branch information
SMoraisAnsys committed Mar 30, 2024
1 parent 871daa9 commit 4de2ef7
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions dist/setup/index.js
Expand Up @@ -9877,11 +9877,12 @@ function extractZipWin(file, dest) {
yield exec_1.exec(`"${pwshPath}"`, args);
}
else {
//attempt to use pwsh with ExtractToDirectory, if this fails attempt Expand-Archive
const powershellCommand = [
`$ErrorActionPreference = 'Stop' ;`,
`try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,
`if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force }`,
`else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`
`try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${escapedFile}', '${escapedDest}', $true) }`,
`catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${escapedFile}' -DestinationPath '${escapedDest}' -Force } else { throw $_ } } ;`
].join(' ');
const args = [
'-NoLogo',
Expand Down

0 comments on commit 4de2ef7

Please sign in to comment.