Skip to content

Instantly share code, notes, and snippets.

@manciuszz
Last active February 23, 2023 17:52
Embed
What would you like to do?
Script to automatically download and extract the downgraded version of STEAM Client using PowerShell.
# Script based on the information of this STEAM forum post:
# https://steamcommunity.com/groups/SteamClientBeta/discussions/3/3710433479207750727/?ctp=44#c3763355849151540150
# Define the package list
$URL_LIST = @(
"http://media2.steampowered.com/client/bins_cef_win32_win10-64.zip.e95f6a85b5fc78198eb662f54d8673fd0dc8c0e6",
"http://media2.steampowered.com/client/bins_codecs_win32.zip.c24511ddbb9b44737097dbf66b8f93d2dfba868e",
"http://media2.steampowered.com/client/bins_misc_win32.zip.495f560691a969371f6f81dc8f3aba73c51906cf",
"http://media2.steampowered.com/client/bins_webhelpers_win32_win10-64.zip.42464337ec9bcad255e9f5026987d839b2cea16f",
"http://media2.steampowered.com/client/bins_win32.zip.afbe8612dfe857ae3e8ba69d1013386f47a5b0c0",
"http://media2.steampowered.com/client/friendsui_all.zip.4dd490c02f2f484c68dd071ef9b26256b8a4ea94",
"http://media2.steampowered.com/client/public_all.zip.76f95fa7d5be6c0a6c9655e303df9bbc6c06fb7f",
"http://media2.steampowered.com/client/resources_all.zip.5aa696350d50d6486ce45cfa3c6068a4d2a3c4f4",
"http://media2.steampowered.com/client/resources_hidpi_all.zip.a110d78e994c028dc1c412951e87a0c4e9c819f7",
"http://media2.steampowered.com/client/resources_misc_all.zip.99ed79ed868d732d8e9e9a45444b8f003191e3dd",
"http://media2.steampowered.com/client/resources_music_all.zip.edf6af8c39e0dab652a1957f17ece454a613e31c",
"http://media2.steampowered.com/client/steam_win32_steamrow.zip.ad21eae33fe2116e0f5e959c851853f4731525ac",
"http://media2.steampowered.com/client/steamui_websrc_all.zip.b90cfa2338c868ebbeca55a53490307039bc4a08",
"http://media2.steampowered.com/client/steamui_websrc_movies_all.zip.e92f802a10e9495b1b1d84eca244237b0e1f6242",
"http://media2.steampowered.com/client/steamui_websrc_sounds_all.zip.1171171e1143eba253439cfb916928202a6d6acf",
"http://media2.steampowered.com/client/strings_all.zip.103a183a4db6f263e4ab65de1ddc24372cd48548",
"http://media2.steampowered.com/client/strings_en_all.zip.756a4fab6f0656b2fede9344cfcf890827bb8062",
"http://media2.steampowered.com/client/tenfoot_all.zip.3edba8deeafea18229b0aba5b487e69cdcfd6ade",
"http://media2.steampowered.com/client/tenfoot_ambientsounds_all.zip.c8342205c2cdfec5329ec8ec2905ddaa33be3cb8",
"http://media2.steampowered.com/client/tenfoot_dicts_all.zip.3a6cb3db75398c509bdc6e389408b6951017494b",
"http://media2.steampowered.com/client/tenfoot_fonts_all.zip.24d041cff44a37e535c589e826376496ead3690a",
"http://media2.steampowered.com/client/tenfoot_images_all.zip.0f4a4293aa40f68cd73fb3c502818a5fe7dba3bd",
"http://media2.steampowered.com/client/tenfoot_misc_all.zip.a49df66ba6bd900ed2c58bb4a9a578752f73f511",
"http://media2.steampowered.com/client/tenfoot_sounds_all.zip.3b8e620a021f18314382ccebf238f827da6a9d77"
);
# Set download location
$downloadLocation = "./Old Steam"
# Create 'extracted' folder to store extracted files
$extractedFolder = Join-Path -Path $downloadLocation -ChildPath "extracted"
New-Item -ItemType Directory -Path $extractedFolder -Force | Out-Null
# Set 7-Zip executable path
$zipExecutablePath = "C:\Program Files\7zip\7z.exe"
# Download each file
foreach ($url in $URL_LIST) {
$fileName = [System.IO.Path]::GetFileName($url)
$filePath = Join-Path -Path $downloadLocation -ChildPath $fileName
# Check if file already exists in download location, skip download if it does
if (Test-Path -Path $filePath -PathType Leaf) {
Write-Host "Skipping download of $fileName. File already exists in $downloadLocation." -ForegroundColor Green
} else {
Write-Host "Downloading $fileName..."
Invoke-WebRequest -Uri $url -OutFile $filePath
}
# Extract archive files to 'extracted' folder
if ($fileName -Match ".zip") {
$outputFolder = Join-Path -Path $extractedFolder -ChildPath .
if (-not (Test-Path -Path $outputFolder -PathType Container)) {
New-Item -ItemType Directory -Path $outputFolder -Force | Out-Null
}
& $zipExecutablePath x $filePath -o"$outputFolder" -y -sccUTF-8 -aou -bsp1
}
}
Write-Host "Download complete." -ForegroundColor Green
Write-Host "Creating steam.cfg to block STEAM updates" -ForegroundColor Yellow
Set-Content -Path "$extractedFolder\steam.cfg" -Value "BootStrapperInhibitAll=enable"
Write-Host "... Now you can start STEAM as before with commands: -no-browser -noreactlogin" -ForegroundColor Green
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment