Intro
Das Deployment von Adobe Reader DC im Windows Netzwerk via GPO Batch-Startscript ähnelt der Verteilung des alten Adobe Readers sehr – dennoch fasse ich die wichtigsten Steps hier zusammen.
Vorbereitung
Ihr braucht für die Verteilung immer die DC-Basisversion (als .msi) und das aktuellste, gewünschte Update (als .msp).
Außerdem, um die Reader Installation vor dem Deployment anzupassen, den installierten Reader DC Customization Wizard.
Step-by-Step
- Lokale AIP-Installation (z.B. C:\adc1516\) der Basisversion mit:
msiexec /a AcroRdrDC1500720033_de_DE.msi
- Aktuellsten Patch in die lokale AIP-Installation Slipstreamen (lokalen .msi Pfad beachten):
msiexec /a "C:\adc1516\AcroRdrDC1500720033_de_DE.msi" /p AcroRdrDCUpd1501720053.msp
- Im lokalen AIP Ordner C:\adc1516 eine leere setup.ini Datei erzeugen und die AcroRdrDC1500720033_de_DE.msi in AcroRead.msi umbenennen (Letzteres ist nur eine kosmetische Anpassung).
- Mit dem Adobe Reader DC Customization Wizard die C:\adc1516\AcroRead.msi öffnen und beliebig anpassen. Änderungen wie vorgegeben als AcroRead.mst speichern.
- (Es müssten jetzt 3 Dateien und 4 Ordner in C:\adc1516\ existieren.) Den lokalen AIP-Ordner auf euer Deployment-Laufwerk verschieben.
- Deployen mit der .msi und .mst:
start /w msiexec /i "%wd%\deploy\%version%\AcroRead.msi" /qn TRANSFORMS="%wd%\deploy\%version%\AcroRead.mst"
Skript und Deploy
Das Deployment habe ich seit Reader 11 etwas verändert. Statt „complete-Ordner“ setze ich nun auf eine Versionsüberprüfung der Programm-exe. Das ist dynamischer und lässt sich differenzierter behandeln. Im Falle von Reader DC ist die Versionierung jedoch etwas seltsam. Beispielsweise lautet das aktuellste Update „AcroRdrDCUpd1501720053.msp“, nach der Installation wird die Dateiversion der .exe jedoch mit 15.17.20050 angegeben. Möglicherweise haben hier die Entwickler geschlampt.
Jedenfalls ist für die Verteilung mit Versionsüberprüfung noch ein Zwischenschritt notwendig:
Schaut im gerade erstellten lokalen AIP-Ordner, bzw. den schon aufs Deployment-Laufwerk kopierten Ordner die Eigenschaften Datei AcroRd32.exe an (liegt unter .\program files\Adobe\Acrobat Reader DC\Reader\) – im Tab Details steht die Versionsnummer, die ihr ins Skript und somit auch als Ordnernamen im Deployment-Laufwerk angeben müsst:
Außerdem wird die VersionCompare.exe benötigt.
Hier nun das Script:
Den Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.
@echo off & Color 9f & setlocal set wd=\\server\Deployment\Software\Reader set log=%wd%\reader-log.txt set readerEL=999 set retry=0 set forcecleanup=yes set deactivateToolsSidebar=yes REM:: ****************** set version=15.17.53 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 not exist %wd%\deploy\%version%\complete md %wd%\deploy\%version%\complete if not exist %wd%\deploy\%version%\complete\%computername% goto beforeinstall if "%deactivateToolsSidebar%"=="yes" goto restoreToolbar :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 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% startet die Installation... >> %log% start /w msiexec /i "%wd%\deploy\%version%\AcroRead.msi" /qn TRANSFORMS="%wd%\deploy\%version%\AcroRead.mst" 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% if "%deactivateToolsSidebar%"=="yes" goto restoreToolbar goto end :restoreToolbar if exist "c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroApp\" set instpath=c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroApp move "%instpath%\ENU\disabled\AppCenter_R.aapp" "%instpath%\ENU" move "%instpath%\ENU\disabled\Home.aapp" "%instpath%\ENU" move "%instpath%\ENU\disabled\Viewer.aapp" "%instpath%\ENU" move "%instpath%\DEU\disabled\AppCenter_R.aapp" "%instpath%\DEU" move "%instpath%\DEU\disabled\Home.aapp" "%instpath%\DEU" move "%instpath%\DEU\disabled\Viewer.aapp" "%instpath%\DEU" rd "%instpath%\ENU\disabled" rd "%instpath%\DEU\disabled" echo %date% %time:~0,8% - %computername% hat die Installation optimiert >> %log% 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 cleanup :retryfailed echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry failed, end >> %log% goto end :end endlocal exit
Alternatives Deployment
Auf der Seite 404techsupport.com habe ich einen noch einfacheren Deployment-Guide gesehen. Dort wird nur anhand des aktuellsten Installers gearbeitet – leider hatte ich noch nicht die Zeit dieses Deployment zu testen. Das hole ich sicher noch nach und Update dann hier.
Einzige Einschränkung: Das Deployment funktioniert nur über .exe, ist also nicht für das normale GPO Softwaredeployment via .msi geeignet.
Hier die Zusammenfassung, die der Autor mir per Mail zukommen ließ:
I download the latest executable from Adobe’s FTP site for Adobe Reader DC and deploy that with a script.
ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/1501620039/I created a transform using the Adobe Customization Wizard and the .msi version of the installer.
My script then installs the executable and uses the transform as a parameter.\\server.fqdn\share\AdobeReader\LatestReaderDC.exe /sPB /rs /msi TRANSFORMS=\\server.fqdn\share\AdobeReader\ReaderDC.mst(The script runs at startup assigned by Group Policy. It checks a network location for a „receipt“ for that computer to see if it has run before, and if not, executes the above command. I empty the „receipts“ folder after I download the new installer to the share so that the script executes on their next startup.)
If that works for your deployment options, it’s pretty straight-forward and avoids the annoying .msp patching (security patch or quarterly patch?). If you need an .msi to deploy, you are probably stuck with your steps of creating the admin install.