Softube - Обсуждаем новые релизы, баги и прочее. (5 онлайн)

SoNick

Well-Known Member
22 Сен 2004
15.026
9.636
113
Недавно Softube обновили свой сайт и фирменный download manager.
Не всегда download manager бывает удобен и не всегда работает исправно.
Так как затрагивает много факторов/зависимостей, влияющих на успешный апдейт.
А недавно на выходных, так и вовсе все упало в download manager.
Мне это надоело))))))
Ниже приведена альтернатива.
Тему начнем со скрипта по апдейту, которых Softube насыпает несколько раз за год.
Апдейт Softube - это всегда pain in ass.
Был до этого момента)
Представим, что у вас сотня плагинов от Softube.

Шаги:
1.
качаем индивидуальные установщики (100 кликов мышки)
2. удаляем текущие плагины (300 кликов мышки)
3. устанавливаем новые плагины (600 кликов мышки)
Для windows процесс можно автоматизировать, не используя фирменный и иногда нестабильный download manager
Шаг номер "3" - тут самый трудоёмкий и очень долгий.

Но "Первый шаг" в любом случае придется выполнить)
Для остального я написал скрипт.
Сначала качаем - потом запускаем скрипты.
Идем пить кофе на полчасика)

Индивидуальные установщики лежат тут:
Win
- https://www.softube.com/support/support-getting-started/direct-installers-for-win
Mac - https://www.softube.com/support/support-getting-started/direct-installers

Во вложении два скрипта для powershell:
Шаг номер "2" - softube-uninstall.ps1
Шаг номер "3" - softube-install.ps1

В шаге номер "3", перед запуском, надо изменить путь до папки с индивидуальными установщиками которые вы скачали с сайта.
$installersPath = "C:\УКАЖИ-ПУТЬ-ДО-ПАПКИ"

Скрипты выполняются по правому щелчку мыши - "Выполнить с помощью PowerShell"
Права администратора не нужны.
1748043031942.png


Судя по тестам, установка сотни плагинов занимает 30-40 минут.
Что гораздо быстрее кликов вручную раз в 5-6)))
Для Mac - пока видимо только фирменный download manager )

Текст скриптов
# Путь к папке, где собраны деинсталляторы
$uninstallersPath = "C:\Program Files\Softube\Plug-Ins 64-bit"
$logFile = "$uninstallersPath\uninstall-log.txt"

# Очистка или создание лог-файла
"Удаление начато: $(Get-Date)" | Out-File -FilePath $logFile -Encoding UTF8

# Получение всех .exe-файлов в папке (NSIS uninstallers)
$uninstallers = Get-ChildItem -Path $uninstallersPath -Filter *.exe -File

foreach ($uninstaller in $uninstallers) {
$fullPath = $uninstaller.FullName
$logEntry = "Удаление $($uninstaller.Name) начато: $(Get-Date)"
$logEntry | Out-File -FilePath $logFile -Append
Write-Host $logEntry

try {
# NSIS поддерживает тихий режим деинсталляции с параметром /S
Start-Process -FilePath $fullPath -ArgumentList "/S" -Wait

"Удаление $($uninstaller.Name) завершено: $(Get-Date)" | Out-File -FilePath $logFile -Append
Write-Host "Удалено: $($uninstaller.Name)"
} catch {
"❌ Ошибка при удалении $($uninstaller.Name): $_" | Out-File -FilePath $logFile -Append
Write-Host "❌ Ошибка при удалении: $($uninstaller.Name)" -ForegroundColor Red
}
}

"✅ Все удаления завершены: $(Get-Date)" | Out-File -FilePath $logFile -Append
Write-Host "`nВсе удаления завершены. Лог: $logFile"

# Путь к папке с установщиками
$installersPath = "C:\УКАЖИ-ПУТЬ-ДО-ПАПКИ"
$logFile = "$installersPath\install-log.txt"

# Создание или очистка лог-файла
"Установка начата: $(Get-Date)" | Out-File -FilePath $logFile -Encoding UTF8

# Получение всех .exe установщиков, исключая vcredist
$installers = Get-ChildItem -Path $installersPath -Filter *.exe -File |
Where-Object { $_.Name -notmatch "vcredist" }

# Цикл установки
foreach ($installer in $installers) {
$fullPath = $installer.FullName
$logEntry = "Установка $($installer.Name) начата: $(Get-Date)"
$logEntry | Out-File -FilePath $logFile -Append
Write-Host $logEntry

try {
# Запуск с параметрами для NSIS: /S — полностью тихая установка
Start-Process -FilePath $fullPath -ArgumentList "/S" -Wait

"Установка $($installer.Name) завершена: $(Get-Date)" | Out-File -FilePath $logFile -Append
Write-Host "Установлен: $($installer.Name)"
} catch {
"❌ Ошибка при установке $($installer.Name): $_" | Out-File -FilePath $logFile -Append
Write-Host "❌ Ошибка при установке: $($installer.Name)" -ForegroundColor Red
}
}

"✅ Все установки завершены: $(Get-Date)" | Out-File -FilePath $logFile -Append
Write-Host "`nВсе установки завершены. Лог: $logFile"

Кому понравилось - ставим лайк)))
Скрипт на удаление не проверял.
Кто проверит - отпишитесь в теме.
 

Вложения

Сейчас просматривают

  • n456