本網站是豐富的信息,我找到了一些很好的解決方案,但它們都是我需要的部分(按順序)。 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 2014-09-05 13:33:58
它似乎不能正常工作。忽略一些陳述。我已經在08版本的電腦上測試過了,但它仍然會安裝。 – MattG78 2014-09-05 14:31:42
您的多個查找語句不以您想象的方式工作。帶有displayname的第一個查找將輸出文本,如「Adobe Acrobat XI Pro」,並在Adobe Acrobat XI Pro上找到第二個查找過濾器。最後的發現只有'Adobe Acrobat XI Pro'行作爲輸入。其他所有內容都被前面的find命令過濾掉了。 – foxidrive 2014-09-06 05:27:38