Как выполнить пакетную установку установочного файла (*.exe) на ПК?

Как выполнить пакетную установку установочного файла (*.exe) на ПК?

Вместо многократного двойного щелчка по десяткам установочных файлов (*.exe), можно ли сделать пакетную установку сразу? Или, по крайней мере, одного двойного щелчка достаточно для их последовательной активации?

Ближайшие решения Google были бы такими:NiniteиСкорость установки. Однако оба предлагают выбор только из некоторых предустановленных, хорошо известных программ, и не обладают достаточной настраиваемостью, чтобы охватить некоторые из моих сохраненных файлов (*.exe).

Учитывая предсказуемое повторение процедуры в будущем, можно ли как-то обойти это?

решение1

Обычные установщики имеют опции для "тихой установки". Например, у Innosetup есть опция командной строки /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /DIR="C:\INSTALL\PATH"для этой цели, а установщики NSIS имеют /S /D=C:\Install Path\No Quotes Allowed Even If Space Present.

ВидетьУстановка без присмотраЧтобы получить больше информации.

Конечно, тихая установка предлагает небольшой выбор, например, вы не можете решить, устанавливать ли 32- или 64-битный пакет R, а можете установить оба.

В качестве примера ниже приведен пакетный файл, который я создал для автоматической установки TeXmacs и maxima в мультимедийную систему в моем классе. Две подпрограммы в нем могут быть полезны.

setlocal

set "main_dir=%USERPROFILE%\DESKTOP"
set "TeXMacs_dir=%main_dir%\mathsofts\TeXMacs"
set "maxima_dir=%main_dir%\mathsofts\maxima"

call :silent_install_inno "%~dp0TeXmacs.exe" "%TeXMacs_dir%"
call :silent_install_nsis "%~dp0maxima.exe" "%maxima_dir%"

endlocal
exit /b

:silent_install_inno
:: parameters: %1--path to the installer executable
::             %2--installation path
start "" /wait %1 /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /DIR=%2
exit /b

:silent_install_nsis
:: parameters: %1--path to the installer executable
::             %2--installation path
:: note: NO QUOTES in %2 is allowed, so %~2 should be used to de-quote
start "" /wait %1 /S /D=%~2
exit /b

Связанный контент