Skip to content

Commit b655615

Browse files
committed
Simplify Squid install for Windows
1 parent b4396e5 commit b655615

2 files changed

Lines changed: 15 additions & 26 deletions

File tree

bin/install_prerequisites_windows.ps1

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,15 @@ if ($LASTEXITCODE) { Throw }
99

1010
# install proxy
1111
echo "==== install Squid"
12-
# Fix broken Chocolatey Squid package 4.14 because http://packages.diladele.com/squid/4.14/squid.msi moved to https://www.diladele.com/pkg/squid/4.14/squid.msi
13-
Invoke-WebRequest https://community.chocolatey.org/api/v2/package/squid -OutFile squid.nupkg
14-
Rename-Item squid.nupkg choco-squid.zip
15-
Expand-Archive choco-squid.zip choco-squid
16-
Select-String -Path .\choco-squid\tools\chocolateyinstall.ps1 -Pattern "diladele"
17-
$file = '.\choco-squid\tools\chocolateyinstall.ps1'
18-
$content = Get-Content $file -Raw
19-
$content = $content.Replace(
20-
'http://packages.diladele.com/squid/4.14/squid.msi',
21-
'https://www.diladele.com/pkg/squid/4.14/squid.msi'
22-
)
23-
Set-Content -Path $file -Value $content -Encoding UTF8
24-
cd .\choco-squid
25-
choco pack
26-
cd ..
27-
choco install --debug --confirm squid --source=".\choco-squid" --install-arguments="'TARGETDIR=C:\'"
28-
if ($LASTEXITCODE) { Throw }
12+
$squid_msi = Join-Path $env:TEMP 'squid.msi'
13+
Invoke-WebRequest 'https://www.diladele.com/pkg/squid/4.14/squid.msi' -OutFile $squid_msi
14+
$process = Start-Process -FilePath 'msiexec.exe' -ArgumentList @(
15+
'/i', $squid_msi,
16+
'/qn',
17+
'/norestart',
18+
'TARGETDIR=C:\'
19+
) -Wait -PassThru
20+
if ($process.ExitCode) { Throw "Squid installation fails with exit code $($process.ExitCode)" }
2921
echo "==== create log dir integration\build"
3022
New-Item -ItemType Directory -Path integration\build -Force
3123
echo "==== Squid service status"
@@ -35,14 +27,12 @@ Get-Process | Where {$_.Name -eq "Squid"} | tee -Append -filepath integration\bu
3527
echo "==== Squid version"
3628
C:\Squid\bin\squid --version | tee -Append -filepath integration\build\proxy.log
3729
echo "==== stop Squid service and kill child process"
38-
taskkill /f /fi "SERVICES eq squidsrv" 2>&1 | tee -Append -filepath integration\build\proxy.log
39-
if ($LASTEXITCODE) { Throw }
40-
taskkill /f /IM squid.exe 2>&1 | tee -Append -filepath integration\build\proxy.log
41-
if ($LASTEXITCODE) { Throw }
42-
echo "==== Squid service status"
43-
sc queryex squidsrv | tee -Append -filepath integration\build\proxy.log
44-
echo "==== Squid process status"
45-
Get-Process | Where {$_.Name -eq "Squid"} | tee -Append -filepath integration\build\proxy.log
30+
Get-Service -Name 'squidsrv' -ErrorAction SilentlyContinue | ForEach-Object {
31+
if ($_.Status -ne 'Stopped') {
32+
Stop-Service -Name $_.Name -Force -ErrorAction SilentlyContinue
33+
}
34+
}
35+
Get-Process -Name 'squid' -ErrorAction SilentlyContinue | Stop-Process -Force
4636

4737
# install jq
4838
echo "==== install jq"

bin/test/test_prerequisites.ps1

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,3 @@ sleep 5
4747
if (netstat -ano | Select-String LISTENING | Select-string 0.0.0.0:3128) {write-host -foregroundcolor Green "proxy is up"} else {write-host -foregroundcolor Red "proxy is down" ; cat build\proxy.log ; exit 1}
4848

4949
cd $actual_dir
50-

0 commit comments

Comments
 (0)