Этот сайт представляет собой обширную информацию, и я нашел несколько отличных решений, но они все детали (не по порядку) для моей потребности. Недавно Adobe выпустила исправление безопасности для Acrobat, к сожалению, это небольшой патч, а также требуется предыдущая версия патча. Подробнее - Чтобы обновить до Acrobat 11.0.08, вы должны установить 11.0.07. Некоторые машины имеют 11,0,06 и ниже. К счастью, 11.0.07 не имеет никаких предварительных условий, кроме основной версии 11.Проверка и обновление версии программы
Что мне нужно сделать, это проверить, имеет ли машина 11.0.07 или 11.0.08. Если у него нет ни 7, ни 8, установите 7, затем 8. Если 7 уже установлено, тогда установите 8. Если 8 уже установлено, ничего не делайте. Файлы обновления находятся на общем ресурсе и требуют прав администратора для установки, поэтому он будет запускаться вручную для каждой машины, требующей обновления.
Я вылупился следующим вместе -
#@echo off
SETLOCAL
cls
rem Installing an update which results in Adobe Reader 11.0.08
echo.
echo.
echo Installing Acrobat Reader 11.0.07 update... please wait...
rem if exist "\\server\share\Logs\%computername%_acrobat_reader_11008.txt" goto gotit
rem Find generates an errorlevel of zero if it encounters a match.
Reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s ^| find "DisplayName" ^| find "Adobe Acrobat XI Pro" ^| find "DisplayVersion" ^| find "11.0.07"
if %errorlevel% EQU 1 (
goto got7
) ELSE (
goto wrongversion
)
:got7
echo Installing 11.0.08 Update
Reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s ^| find "DisplayName" ^| find "Adobe Acrobat XI Pro" ^| find "DisplayVersion" ^| find "11.0.08"
if %errorlevel% EQU 0 (
goto gotit
) ELSE (
net use q: "\\server\share\Source\patches" /persistent:no
q:
msiexec /quiet /update Q:\AcrobatSecUpd11008.msp > "\\server\share\Logs\%computername%_acrobat_reader_11008.txt"
goto gotit
)
:wrongversion
Reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s ^|find "DisplayName" ^| find "Adobe Acrobat XI Pro" ^| find "DisplayVersion" ^| find "11.0.08"
if %errorlevel% EQU 0 (
goto gotit
) ELSE (
echo Installing 11.0.07 Update
net use q: "\\server\shareSource\patches" /persistent:no
q:
msiexec /quiet /update Q:\AcrobatUpd11007.msp > "\\server\share\Logs\%computername%_acrobat_reader_11008.txt"
goto got7
)
:gotit
pause
К сожалению, значение строки реестра разделены. DisplayName показывает только «Adobe Acrobat XI Pro», следовательно, несколько запросов «найти».
так - есть вопрос? похоже, у вас уже есть решение. – ths
Он работает неправильно. Игнорируйте некоторые утверждения. Я протестировал его на своем компьютере, который находится в версии 08, но он все еще выполняет установки. – MattG78
Ваши множественные операторы поиска не работают так, как вы думаете. Первая находка с displayname выведет текст, подобный «Adobe Acrobat XI Pro», и второй фильтр поиска на «Adobe Acrobat XI Pro». Последняя находка содержит только строки «Adobe Acrobat XI Pro». Все остальное было отфильтровано предыдущей командой find. – foxidrive