Mittwoch, 15. Mai 2013

Verteilen von Adobe Reader Updates (MSP) mit Gruppenrichtlinien

Hallo Allerseits,

hier noch zunächst der Hinweis: dieser Artikel setzt das Wissen voraus, wie man via GPO MSI-Dateien verteilt, das werde ich also nicht detailiert erläutern. Viel mehr geht es darum, wie man einen Patch in Form einer MSP-Datei via GPO verteilt.

Die Schnellanleitung findet ihr am Ende des Postings.

Während Systeme wie SCCM die Verteilung von MSPs von Haus aus unterstützen, muss bei der Softwareverteilung über Gruppenrichtlinien getrickst werden. Das Stichwort heißt hier Slipstream, wir spielen die Patchdatei über die eigentlich MSI-Datei und erzeugen dabei eine neue MSI-Datei, die das ursprüngliche Installationspaket mit gepatchten Inhalten bereithält und verteilen kann.

Fangen wir aber von vorne an. Adobe bringt alle paar Jahre eine neue Hauptversion seiner Software auf den Markt, aktuell (Stand 15.05.2013) sind wir bei Adobe Reader 11 (bzw. Adobe Reader XI), seit gestern sogar bei Version 11.0.0.3.

Nun ist der Reader ein weit verbreitetes Produkt, relativ anfällig für das Einschleusen von Viren und sollte deswegen auch zügig gepatcht werden. Im Gegensatz zum Flash-Player von Adobe, zu dem jedes Mal eine neue MSI-Datei veröffentlicht wird, welche man einfach über die alte Version drüberinstallieren kann, veröffentlicht Adobe nur sogenannte MSP-Dateien (Patch-Dateien für den Microsoft Software Installer), welche aber, wie schon erwähnt, nicht per Gruppenrichtlinie verteilbar sind. Wie das geht, zeige ich hier.

Zunächst besuchen wir den FTP von Adobe und holen uns die aktuellste Reader-Version in Form einer EXE-Datei. Die EXE-Dateien sind kumulativ, wir benötigen also weder die 11.0.0.1, 11.0.0.2 und auch nicht die Basis-Installationsdatei 11.0.0.0, sondern nur die aktuellste Version, in meinem Fall die 11.0.0.3.
Jetzt extrahieren wir den Inhalt der AdbeRdr11003_de_DE.exe, oder wie auch immer sie bei euch heißt:
wir ziehen dazu die EXE in das Ausführenfeld (Aufruf Windowstaste + R) oder in ein CMD-Fenster (es erscheint der Pfad zur Datei + Dateiname, bei Pfaden mit Leerzeichen in ") und hängen anschließend -nos_ne an, also z. B.

"C:\Pfadbeispiel mit Leerzeichen\AdobeReader11.exe" -nos_ne



Mit Enter die Eingabe bestätigen. Es erscheint kurz das Setup-Fenster, ohne etwas abzufragen und extrahiert seine Daten und zwar in diesen Ordner:
C:\ProgramData\Adobe\Setup
Darin sollte sich ein Ordner mit aktuellem Zeitstempel befinden, der Name des Ordners beginnt und endet mit geschweiften Klammern. Wir öffnen ihn und finden den extrahierten Inhalt der EXE darin, u. a. das MSI und das MSP-Paket. Wir kopieren uns den gesamten Inhalt in einen lokalen Ordner (WICHTIG! wegen der Batchdatei), in welchem wir Schreibrechte haben. Es wird auch empfohlen, den Slipstream auf einem Computer auszuführen, der noch keinen Reader installiert hat. Bei mir hat das noch keinerlei Probleme bereitet, aber wer weiß schon, was passieren könnte, seid also hiermit gewarnt!

Nun kommen wir zum Slipstream. Nähere Informationen findet ihr auf dieser Seite hier. Am einfachsten tut man sich mit der auf der dort bereitgestellten ApplyMSP.bat es geht aber natürlich auch per Hand, ich erkläre es aber anhand des Skripts.
Die Batch legen wir in unseren besagten lokalen Ordner mit der MSI und MSP-Datei ab und führen die Batch aus und zwar mit Adminrechten (Vorsicht mit der Benutzerkontensteuerung, diese wird nicht abgefragt, also die Batchdatei mit gedrückter Shift-Taste rechtsklicken und mit "Als Administrator ausführen" anstarten). Die Batch findet zunächst die MSI und MSP und fragt nun nach dem Weg, wie der Slipstream ablaufen soll, wir haben die Wahl zwischen MSI, AIP (Administrativ Installation Point) oder Q (für Quit). Bei MSI wird die gepatchte MSI-Datei an einem anderen Ort abgelegt, bei AIP wird die aktuelle MSI überschrieben, bei Q verlasst ihr die Batch ohne Änderungen. Ich wähle hier immer AIP, anschließend wird mir "**Applying patch from MSP-file" und danach "**SUCCESS" zurückgegeben. Glückwunsch, die gepatchte MSI kann nun verteilt werden.


Um nun den Reader zu verteilen, steht es euch frei, vorher ein Transform zu definieren (würde ich euch sehr anraten, dort können so Dinge wie "alte Adobe Versionen entfernen" und dergleichen hinterlegt werden), den Wizard dafür findet ihr hier:
http://www.adobe.com/support/downloads/detail.jsp?ftpID=5515
Sollte der Link mal nicht mehr existieren, googelt einfach nach "Adobe Customization Wizard" + eurer Adobe-Versionsnummer und ihr werdet fündig.

Sollte das die Erstverteilung des Readers sein, könnt ihr gleich die neue MSI-Datei verwenden und habt für die Clients eine schöne 11.0.0.3er Version. Solltet ihr z. B. schon die 11.0.0.0 verteilt haben und wollt nun auf 11.0.0.3, müsst ihr die Zwischenstufen, wie bereits erwähnt, nicht installieren. Um die Anzahl der GPOs so gering wie möglich zu halten, empfehle ich, die bestehende GPO für den Reader zu öffnen und hier zum bestehenden Paket ein neues hinzuzufügen, wählt die neu erstellte MSI-Datei aus. Im Reiter "Allgemein" sollte die aktuelle Versionsnummer zu sehen sein, unter "Bereitstellung von Software" > Button "Erweitert" wähle ich immer "Sprache beim Bereitstellen dieses Pakets ignorieren". Nun zum Reiter "Aktualisieren", dort klicken wir auf "Hinzufügen", wählen aus dem "aktuellen Gruppenrichtlinienobjekt" und weiter unten "Paket kann über das vorhandene Paket aktualisieren" aktivieren. Wir sehen unten in der Liste bereits die verfügbaren Pakete aus dieser GPO und markieren die Aktuellste.

Persönliche Notiz: Ich halte es aktuell so, dass bei mir in dieser Liste die 11.0.0.0, 11.0.0.1 und 11.0.0.2 beibehalte; die jeweils neuere Version verweist also auf seinen jeweiligen Vorgänger beim Aktualisieren. Ich habe mich nie getraut, die Zwischenstufen zu entfernen, obwohl das eigentlich funktionieren sollte. Mein Weg klappt aber auf jeden Fall (never change a running system). Beim Entfernen von Einzelpaketen dagegen habe ich leider bereits erlebt, dass das komplette Softwarepaket deinstalliert, aber die neue Version nicht installiert wurde. Macht eure eigenen Erfahrungen, es ist ein Buch mit 7 Siegeln. Denkt auch immer daran, für jedes Aktualisierungspaket auch im Reiter "Änderungen" jeweils das MST anzugeben, sofern ihr das nutzt.




Hier das Schnellverfahren, für die "TMTR-Leute":

  • Download der aktuellen Version
  • Mit diesem Befehl die EXE entpacken:
    "C:\Pfad zur Datei\AdobeReader.exe" -nos_ne
  • "C:\ProgramData\Adobe\Setup" aufrufen, den darin aktuellsten Ordner an einen lokalen Pfad kopieren/verschieben
  • ApplyMSP.bat herunterladen und im Ordner der MSI und MSP-Dateien speichern
  • ApplyMSP.bat als Administrator ausführen (zu finden im Rechtsklick-Menü)
  • Eingabe im CMD-Feld "AIP", um die MSI zu überspielen (oder wenn gewünscht mit "MSI" antworten, um die neue MSI an einem seperaten Ort zu speichern).
  • Die neu-generierte MSI-Datei für die Verteilung verwenden, ggf. als "Aktualisierung" definieren, um vorangegangene Version zu aktualisieren, hier am besten "Aktuelles Gruppenrichtlinienobjekt" verwenden und unten den Punkt "Paket kann über das vorhandene Paket aktualisieren" aktivieren.
  • Bei Bedarf mit dem Adobe Customization Wizard ein Transform generieren, um bei der Installation alte Versionen zu entfernen und um diverse andere Einstellungen vorzudefinieren.


Hoffe, das hilft dem einen oder anderen weiter!

So far,

Snaker

Nachtrag: Sorry, die Bilder sind bei einem Serverumzug verloren gegangen. Ich hoffe, die Textversion reicht (:

4 Kommentare:

  1. Vielen Dank für die gute, verständliche Anleitung - sehr hilfreich! :)
    Habe gerade direkt mal Adobe Reader 11.0.0.3 per GPO verteilt, hat wunderbar funktioniert.

    AntwortenLöschen
  2. Hi, danke für dein Feedback. Freut mich, wenn ich weiterhelfen konnte. Bekomme sonst eher selten Rückmeldungen ;)

    AntwortenLöschen
  3. Das Problem ist aber, dass mit diesem Weg ich aktuell bei Kunden die Meldung bekomme, dass beispielsweise Chrome ein veraltetes PDF-Plugin meldet. (Ich weiß, Chrome hat PDF integriert, der Kunde braucht allerdings das Adobe-eigene). Ich bin dann dazu übergegangen die Dateien für das Plugin manuell nachzupatchen, aber das ist ja auch keine Dauerlösung...

    AntwortenLöschen
  4. Reiccht es wenn ich neues Update habe einfach nur die MSI bereitzustellen oder brauche ich auch die anderen Dateien Data1.cab, setup.exe,setup.ini, etc.?

    AntwortenLöschen