Песочница Windows 11
В продолжение темы Песочница Windows 10. Тонкая настройка для себя же любимого дополнение. Так как песочницей я всё ещё продолжаю пользоваться (хоть и редко), приходится адаптироваться под её изменения.
Сейчас в песочнице нет ни блокнота, ни браузера, а я люблю там что-то быстренько тестировать. И ладно бы, они там winget оставили, чтобы можно было быстро и удобно что-то добавить, но нет. Сначала хотел именно этот минус с отсутствием winget исправить, но потом началось, что тут не хватает зависимости, там файл winget 200+ мегабайт весит (и скорость кто-то режет как обычно). Я было даже решил посмотреть на альтернативы в лице условного scoop, но там были похожие проблемы.
По итогу я просто решил собрать свой небольшой велосипед.
Внимание
В целом данный вариант стал не так актуален, как только я понял в чём была проблема с «прозрачной» установкой winget
Подумал, что будет проще использовать свой любимый download-менеджер, которому можно передать список того, что надо скачать, а потом это установить в «тихом» режиме.
Сноска
Выбор в пользу httpdownloader сделан потому, что он умеет многопоточность, визуализацию, понимает редиректы (когда не прямая ссылка на закачку) и cli-режим. Можно было бы пойти путём curl или Invoke-WebRequest, но они не такие функциональные, да и если у нас задача скачать ПО, почему бы не начать это делать с хорошего download-менеджера?
Внимание Все действия выполняются в консоли PowerShell
Разделил блоки только для визуального удобства.
Определяем ссылки на скачивание в переменной $links:
$links = @( "https://www.palemoon.org/download.php?bits=64&mirror=eu&type=installer" #palemoon "https://rizonesoft.com/?sdm_process_download=1&download_id=17525" #notepad3 )
Скачиваем download-менеджер и далее всё по ссылкам во временную папку tmp. После чего запускаем тихую установку
cd ~\Downloads iwr https://github.com/erickutcher/httpdownloader/releases/latest/download/HTTP_Downloader_64.zip -OutFile httpdownloader.zip Expand-Archive .\httpdownloader.zip Set-Alias -Name dl -Value ~\Downloads\httpdownloader\HTTP_Downloader.exe $links | Out-File -FilePath .\url-list.txt -Encoding ascii dl --immediate --portable --parts 5 --download-directory tmp --shutdown-action 1 --url-list .\url-list.txt Get-Process HTTP_Downloader | Wait-Process cd .\tmp\ ls | % { Start-Process $_.Name -ArgumentList "/silent" }
