This is an old revision of the document!
Установка exe-setup через LogonScript
Установка через msi-пакет легко автоматизируется с помощью GPO AD. Но что, если msi-пакета нету, а автоматизировать установку очень хочется?
Характерным примером может послужить установка пакета Microsoft Visual C++ Redistributable, который распространяется в виде SETUP.EXE инсталлятора, поддерживающего ключи неинтерактивной установки.
В первую очередь скопируем инсталлятор в папку, откуда устанавливаем обычно msi через GPO AD. Если специальной папки у нас нет - подойдет и стандартный NETLOGON нашего домена:
\\domain.local\NETLOGON\Software\VCredist\vc_redist.x86.exe
Теперь сохраним в PowerShell-файл скрипт:
$Installer = "\\domain.local\NETLOGON\Software\VCredist\vc_redist.x86.exe"
$RequiredVersion = [version]"14.44.35211.0"
$Installed = Get-ItemProperty `
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" `
-ErrorAction SilentlyContinue
if (!$Installed -or [version]$Installed.Version.TrimStart('v') -lt $RequiredVersion) {
Start-Process -FilePath $Installer `
-ArgumentList "/install /quiet /norestart" `
-Wait
}
Данный скрипт не просто установит Microsoft Visual C++ Redistributable с заданными параметрами, но сначала проверит версию и будет выполнять установку только, если установленная версия ниже той, которую мы хотим установить (14.44.35211.0 в данном случае).
