Adobe Reader DC 2018 Windows AD Deployment Update

adobe-reader-dc-2018-deployment-ad-windows-guide-banner-thomas-kvistholt-191153Nachdem ich Ende 2016 noch das Deployment von Adobe Reader DC mit der alten AIP-Methode beschrieben hatte, gibt es jetzt ein Update, eine neue Deployment-Methode, die super schnell und einfach ist und viel weniger Schritte benötigt. Statt wie bisher das gewünschte Adobe Update direkt in die primäre Installation zu slipstreamen (einzubinden), wird der Patch jetzt per Befehl an die msiexec Installation übergeben und mitinstalliert. Damit entfällt die komplette AIP-Erstellung, was Zeit und CMD-Getippe spart.

Download & Vorbereitung

Ihr benötigt natürlich immernoch die aktuellste Reader DC Version als .exe Download von der Adobe Download Seite.
Die .exe Datei dann einfach in einen Ordner entpacken und ihr erhaltet die typischen MSI-Deployment Daten.

Anpassung

Wenn ihr zusätzlich die Sprache der Verteilung festlegen wollt, öffnet die setup.ini und ergänzt dort einige Zeilen:

[Startup]
RequireMSI=3.0
CmdLine=/sl"1031" /sall /rs

[Product]
PATCH=AcroRdrDCUpd1800920044.msp
msi=AcroRead.msi
CmdLine=TRANSFORMS="[yourmstfile].mst"
Languages=1031
1031=German

[MSI Updater]
Path=http://ardownload.adobe.com/pub/adobe/reader/win/8.x/8.0/misc/WindowsInstaller-KB893803-v2-x86.exe

Anschließend benutzt ihr den Adobe Customization Wizard, wie gewohnt, um eine .mst Transform-Datei zu erstellen, die eure Einstellungen enthält.
adobe-reader-dc-2018-deployment-ad-windows-guide-update-customization-wizard

Das war’s auch schon.

Deployment

Beim Deployment ändert sich der Aufruf der Installation:

msiexec /i "%wd%\deploy\%version%\AcroRead.msi" PATCH="%wd%\deploy\%version%\AcroRdrDCUpd1800920044.msp" TRANSFORMS="LEAP.mst" /qb

Ändert hier und in der setup.msi den Namen der .mst in eure .mst Datei und passt auch wieder die Pfade am Anfang des Deployment-Skripts an. Für das Cleanup braucht ihr auch ein paar zusätzliche Cleanup-Tools von Adobe, die ihr ggf. noch herunterladen und im Ordner ablegen müsst.

@echo on & Color 9f & setlocal
set wd=\\server\Deployment\Software\Reader
set log=%wd%\reader-log.txt
set tools=\\server\Deployment\Sonstiges\tools
set readerEL=999
set retry=0
set forcecleanup=yes
:: set deactivateToolsSidebar=yes
set exepath=none
set instversion=0.0
REM:: ******************
set version=18.009
REM:: ******************

REM:: Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren
::for /f %%f in (%wd%\allowedPCs.txt) do if "%computername%"=="%%f" goto start
::goto end

REM:: Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht installieren
for /f %%f in (%wd%\deniedPCs.txt) do if "%computername%"=="%%f" goto end

:start
if exist "c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" set exepath="c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
if exist "c:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" set exepath="c:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
if %exepath%==none goto install
goto checkversion

:checkversion
for /f "tokens=1-3" %%i in ('%tools%\sigcheck %exepath%') do ( if "%%i %%j"=="File version:" set instversion=%%k )
%tools%\VersionCompare.exe %instversion% %version%
set versionEL=%errorlevel%
if "%versionEL%"=="-1" goto beforeinstall
if "%versionEL%"=="0" echo %date% %time:~0,8% - %computername% hat bereits %instversion% installiert >> %log%
if "%versionEL%"=="1" echo %date% %time:~0,8% - %computername% hat bereits %instversion% (neuer) installiert >> %log%
goto end

:beforeinstall
if "%forcecleanup%"=="yes" goto cleanup
goto install

:cleanup
echo %date% %time:~0,8% - %computername% deinstalliert alle Reader Versionen... >> %log%
REM:: uninstall all reader versions
taskkill /im acrord32.exe /t /f
taskkill /im acrord64.exe /t /f
ping localhost -n 3
::start /w %wd%\cleaner\reader-cleaner-9.exe /silent /product=1
::start /w %wd%\cleaner\reader-cleaner-10.exe /silent /product=1
start /w %wd%\cleaner\reader-cleaner-dc.exe /silent /product=1
echo %date% %time:~0,8% - %computername% hat alle Reader Versionen deinstalliert... >> %log%
goto install

:install
echo %date% %time:~0,8% - %computername% (%instversion%) startet die Installation... >> %log%
::start /w "" "%wd%\deploy\%version%\setup.exe"
msiexec /i "%wd%\deploy\%version%\AcroRead.msi" PATCH="%wd%\deploy\%version%\AcroRdrDCUpd1800920044.msp" TRANSFORMS="LEAP.mst" /qb
set readerEL=%errorlevel%

if %readerEL%==1618 goto retry REM:: msiexec process in use, installation already in progress
if %readerEL%==1602 goto retry REM:: user canceled installation
if %readerEL%==1603 goto retry REM:: fatal error, some use it for "already installed" (eg. java)
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%... >> %log%
if %readerEL%==0 md %wd%\deploy\%version%\complete\%computername%
goto end

:retry
if %retry%==1 goto retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry in 5min... >> %log%
set retry=1
ping localhost -n 300 > nul
goto beforeinstall

:retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry failed, end >> %log%
goto end

:end
endlocal
exit

Schreibe einen Kommentar