Nachdem 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.
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