doskias
Goto Top

Installation des Adobe Reader per Skript zeigt unerklärliches Verhalten

Hallo,

ich habe eine Kuriosität entdeckt aus der ich absolut nicht schlau werde. Ich hab das ganze mal als Microsoft allgemein eingeordnet, da ich nicht 100% sicher bin woran es liegt. Zum Hintergrund: Es muss bei uns sichergestellt sein, dass Adobe in einer gewissen Version vorliegt und dort das Adobe Plugin für Microsoft Azure Information Protection installiert ist. Leider haben wir derzeit noch keine Softwareverwaltung und das Azure Information Protection Projekt wurde höher priorisiert als die Softwareverteilung. ich bin daher gezwungen auf eine Verteilung per GPO auszuweichen. Dazu gibt es folgendes Skript:

# Installationsstatus abfragen
$check_adobe=Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Sort Displayname | Select-Object DisplayName, DisplayVersion, InstallDate |? displayname -like "*Adobe Acrobat Reader DC*"  
$check_MIP=Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Sort Displayname | Select-Object DisplayName, DisplayVersion, InstallDate |? displayname -like "*Microsoft Azure Information Protection Plugin For Adobe Acrobat Reader*"  

# Adobe prüfen
if ($check_adobe.DisplayVersion -ne "21.001.20145")  
{
if (!(Test-Path c:\temp\adobe)){New-Item C:\Temp\Adobe -ItemType Directory}
Copy-Item \\Server\Software\Adobe_Aip\* C:\temp\Adobe\
c:\temp\adobe\setup.exe /sall
}

#MIP-Plugin prüfen
if ($check_MIP.DisplayVersion -ne "21.001.20135")  
{
if (!(Test-Path c:\temp\adobe)){New-Item C:\Temp\Adobe -ItemType Directory}
Copy-Item \\Server\Software\Adobe_Aip\* C:\temp\Adobe\
C:\Temp\Adobe\AIPPlugin_Reader_DC_Cont_Feb21.msi /quiet
}

if (Test-Path c:\temp\adobe)
{
if ($check_adobe.DisplayVersion -eq "21.001.20145")  
    {
    if ($check_MIP.DisplayVersion -eq "21.001.20135")  
        {Remove-Item c:\temp\adobe\ -Recurse -Force
        }
    }
}

Das Skript an sich funktioniert sowohl auf Windows 10 als auch auf Windows 8. Mir macht jedoch Zeil 10 zu schaffen. c:\temp\adobe\setup.exe /sall ist eigentlich ein sehr einfacher Befehl der nicht viel falsch machen kann. Die Lösung dafür stammt aus dem Adobe Forum: https://community.adobe.com/t5/acrobat-reader/adobe-reader-dc-15-023-sil ...

Was habe ich also gemacht: ich habe das aktuelle Setup heruntergeladen und mit 7Zip entpackt. Die Dateien liegen auf dem Server, werden lokal kopiert und anschließend ausgeführt. Erst das Setup, dann das MIP/AIP-Plugin. Das Setup vom Adobe enthält die Version 21.001.20135 und das Plugin 21.001.20145. Daher die entsprechenden Abfrage im Skript. Starte ich das Skript per Hand (als Administrator), wird die Software direkt richtig installiert. Manchmal muss ich das Skript insgesamt 3 Mal ausführen. Dies äußert sich dann so.
1. Die Dateien werden lokal abgelegt und das Adobe Setup startet. Das Plugin kann dann nicht installiert werden, weil der Adobe-Client den Installer noch beansprucht. Wäre theoretisch lösbar durch ein Sleep zwischen den IF-Abfragen. Da es jedoch nur temporär und einmalig ist um jetzt das Setup zu verteilen bis der Server für die Softwareverteilung fertig ist, kann ich damit leben.
2. Wenn das Plugin nicht direkt installiert wird, wird im zweiten Durchgang das Plugin installiert.
3. Wenn das Plugin und Adobe auf der entsprechenden Version installiert sind, werden die Dateien gelöscht. Dies passiert im ersten Durchgang nicht, da die Bedingung nur beim Skriptstart geprüft wird. Wäre leicht lösbar indem ich nach dem Setup die beiden Check-Variablen neu einlese/prüfe, also Zeile 1 und 2 erneut ausführe.

Da ich mit der ggf. drei-fach-Ausführung sehr gut leben kann, habe ich das Skript nun an Windows 8 und 10 Rechner ausgerollt. Testweise erstmal nur an einen, dann an zwei weitere, jetzt nochmal an 3 weitere. Konfiguriert ist das ganze als geplante Aufgabe die die System-Berechtigungen bei der Ausführung nutzt. Das Skript soll bei der User-Anmeldung und täglich um 12:00 Uhr ausgeführt werden, jeweils alle 5 Minuten für die Dauer von 30 Minuten wiederholen). Frohen Mutes habe ich also den nächsten Tag (das war Freitag) abgewartet und meine Abfrage (ebenfalls über PS) ergab. Keine Installation durchgeführt. Bei der Ursachenforschung habe ich folgenden Eintrag gefunden:

Das Produkt wurde durch Windows Installer installiert. Produktname: Adobe Acrobat Reader DC - Deutsch. Produktversion: 15.007.20033. Produktsprache: 1031. Hersteller: Adobe Systems Incorporated. Erfolg- bzw. Fehlerstatus der Installation: 1635.

und

Produkt: Adobe Acrobat Reader DC - Deutsch -- Installation fehlgeschlagen.

Keine weiteren Meldungen in irgendeinem Protokoll. Das ganze hat mich Freitag verwirrt. Wieso wird beim Aufruf des 21.001.20145-Setups versucht eine Produktversion 15.007.20033 zu installieren. Da passt was nicht zusammen. Da Freitag (und Feierabend) war, habe ich mich damit nicht weiter beschäftigt. Man kann ja auch mal Dinge auf die nächste Woche schieben. Gestern war ich nicht da, also wollte ich der Sache heute auf den Grund gehen. Zu meiner Überraschung stellte ich fest, dass die 19er-Version bei den Testrechnern durch die 21er ersetzt wurde. Sprich: Das gleiche Update was am Freitag noch die 15er installieren wollte hat gestern in meiner Abwesenheit die 21er installiert. Zufall? Updatekomplikationen?

Gehen wir der Sache auf den Grund. Ich habe also einen neuen Rechner installiert, per Hand von DVD. Keine weitere Software drauf. Rein in die Domäne, zur Testgruppe hinzugefügt und Situation geprüft. geplanter Task ist vorhanden. Am Rechner angemeldet, Setup-Dateien wurden lokal abgelegt. Abgewartet, aber kein Adobe tauchte auf. Logs geprüft: Erneut der Versuch die 15er Version zu installieren fehlgeschlagen. weiter gewartet und alle 5 Minuten das Protokoll geprüft. Die ersten vier Anläufe gingen wieder schief, da die 15er Version nicht installiert werden konnte. der 5te Durchlauf des Skriptes war dann auf einmal erfolgreich und die 21er wurde installiert, genau wie das Plugin. Danach wurde wie erwartet der Setup-Ordner gelöscht.

Fazit: Die gleiche Setup-Datei versucht bei identischen Berechtigungen mal die 15er und mal die 21er Version zu installieren. Die 21er funktioniert auf Anhieb. Die Fehlerquelle Kollege kann ich ausschließen, da ich heute alleine bin. Auch die Ausführung als System funktioniert. Es spielt daher auch keine Rolle ob es als normaler Anwender oder als Administrator ausgeführt wird. Das Verhalten tritt auch beim Domänen-Admin am Client auf, kann aber nicht gezielt reproduziert werden. Manchmal wird beim ersten Setup direkt die 21er installiert. Manchmal dauert es 2 Tage. Auch das händisch starten der geplanten Aufgabe führt manchmal zu dem entsprechenden Fehler. Wenn ich das Skript händisch ausführe klappt es immer. Ich habe daher die Vermutung, dass die Ursache in der Aufgabenplanung zu finden ist, allerdings fehlen mir weitere Ideen und Anhaltspunkte. Hat jemand schonmal ein ähnliches Verhalten beobachtet?

Gruß
Doskias

Content-ID: 665689

Url: https://administrator.de/contentid/665689

Ausgedruckt am: 21.11.2024 um 13:11 Uhr

em-pie
Lösung em-pie 13.04.2021 um 13:19:56 Uhr
Goto Top
Moin,

warum installiert ihr den "Quatsch" per Script + GPO und nicht nativ per GPO:
https://www.adobe.com/devnet-docs/acrobatetk/tools/DesktopDeployment/gpo ...

Dazu noch via Customa###Wizard das msi anpassen und als mst abspeichern.

für ein Slipstream der msp-Files in die Basis msi:
https://community.spiceworks.com/how_to/37467-how-to-create-a-slipstream ...


Hinweis:
Für die (automatische) Verteilung im Unternehmen ist ein Agreement mit Adobe erforderlich.

Gruß
em-pie
Doskias
Doskias 13.04.2021 um 15:59:17 Uhr
Goto Top
Zitat von @em-pie:
Moin,
warum installiert ihr den "Quatsch" per Script + GPO ...
Ach du weißt doch wie das so ist. Erst hieß es "nur bei Bedarf", daher hab ich für den Bedarf ein Skript geschrieben und jetzt soll es doch zu allen. Da das Skript schon bereitlag, hab ich es einfach per GPO in die Aufgabenplanung verteilen wollen.

Weil ich die Softwareverteilung per GPO noch nie genutzt habe und dadurch gar nicht auf dem Schirm hatte. Klar weiß ich, dass es die Option gibt, aber halt einfach nicht dran gedacht.

Dazu noch via Customa###Wizard das msi anpassen und als mst abspeichern.
für ein Slipstream der msp-Files in die Basis msi:
https://community.spiceworks.com/how_to/37467-how-to-create-a-slipstream ...

Hab mich nach der Anleitung hier: https://www.adobe.com/devnet-docs/acrobatetk/tools/DesktopDeployment/aip ... gerichtet. Hab Punkt 1 bis 13 Durchgeführt. Punkt 14 bis 16 sind ja Optional, wenn ich keine Einstellungen vornehme. verstehe ich das richtig? Fakt ist, ich habe es mal nachgespielt was dort beschrieben steht. Wenn ich Punkt 7 ausführe und anschließend in das Verzeichnis schaue ohne ein Update zu installieren, dann liegt da tatsächlich eine Adobe Reader Version aus dem Jahr 2015. Die Softwareverteilung per GPO erkennt das Setup ebenfalls als 15er Version. Die in dem Setup entpackte AcroRead.msi hat ein Datum vom 17.03.2015, die AcroRdrDCUpd2100120145.msp ist vom 06.03.2021 Genau das kann ich nachvollziehen wenn ich eine Installation per GPO vorbereite und dort die Ordner sehe. Das Update ändert dann die Dateien auf 2021.
Allerdings habe ich es jetzt in der kürze nicht geschafft die Installation über die GPO via MSI zum Laufen zu bekommen. Das liegt wie gesagt daran, dass das MSI als 15.7 erkannt wird. Ich muss jetzt also noch irgendwie meine neue Version in ein MSI packen. Dazu werde ich mir dann den zweiten Link von dir mal anschauen.
Aber die Frage wieso er eine 15er Version mit meinem Skript installiert ist damit eigentlich auch geklärt :D

Hinweis:
Für die (automatische) Verteilung im Unternehmen ist ein Agreement mit Adobe erforderlich.
Soweit ich das verstanden habe, brauche ich das aber nicht beim Adobe Reader DC, sondern nur bei der Verteilung von Software mit Lizenzerwerb.

Gruß
em-pie

Gruß
Doskias
GarfieldBonn
Lösung GarfieldBonn 13.04.2021 aktualisiert um 18:09:04 Uhr
Goto Top
Hi,

em-pie hat recht, wenn du die msi bei Adobe herunterladen willst für eine Softwareverteilung, benötigst Du eine Vereinbarung mit Adobe (kostenlos zur Zeit ;).
Soweit ich mich erinnere erhälst du dann von Adobe den Downloadlink per Mail. Dauert ggf. ein paar Tage.

gruß
khs
Doskias
Doskias 14.04.2021 um 09:00:38 Uhr
Goto Top
Danke, habe es mittlerweile auch gefunden. Gehe davon aus, ihr meint das hier: https://acrobat.adobe.com/de/de/acrobat/pdf-reader/volume-distribution.h ...

Verteilung (auch der Test) ist jetzt getoppt, bis die Vereinbarung da ist.

Gruß
Doskias
Doskias
Doskias 14.04.2021 um 14:18:11 Uhr
Goto Top
So es geht weiter. Die Beantragung und Erhalt der Vereinbarung hat keine 5 Minuten gedauert.

Ich bin so wie bei Adobe und/oder Spiceworks vorgegangen:
1. Exe entpackt
2. Mittels msiexec .\AcroReader.msi /a TARGETDIR="Hier solls hin" das Verzeichnis auf dem Server erstellt (übrigens tatsächlich alle Dateien aus 2015 und älter)
3 Mittels msiexec /a .\Acroreder.msi /p .\Update2100.msp das Update durchgeführt. Die Dateien dort wurden aktualisiert und sind jetzt vom 06.03.2021.
4. Jetzt kommt der Haken an der Sache: Ich hab eine GPO erstellt, die in der Softwareverteilung die AcroReader.msi als Quelle hat.
Starte ich die msi auf meinem Testrechner als Administrator per Hand, so läuft das Setup durch, endet dann aber mit der Fehlermeldung, dass das die Installation abgebrochen wurde, da a program run as a part of the setup did not finish as expected Die Aussage ist leider nicht Hilfreich. Anschließend erfolgt ein Rollback und alles wird wieder deinstalliert. Aber auch hier lies sich in den logs ermitteln, dass die 15er Version versucht wurde zu installieren.
Lasse ich das MSI über die GPO ausrollen, dann dauert der Neustart deutlich länger. Das ist ja auch ok, es wird ja im Hintergrund was installiert. Aber auch hier schlägt die Installation fehl. Auch hier kann ich in den Logs keine andere Fehlermeldung als a program... ausfindig machen. Allerdings sehe ich auf diese Weise keine Versionsnummer die versucht wurde zu installieren.

Bleibt die Frage: Was mach ich falsch bzw. habe ich übersehen?

Gruß
Doskias
Doskias
Doskias 15.04.2021 um 11:58:16 Uhr
Goto Top
So da bin ich wieder. ich hab zwar die Verteilung via MSI wg. oben genannten Problematik nicht hinbekommen, aber dafür läuft das Skript jetzt. Es sieht so aus:

# Status abfragen
$check_adobe=Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Sort Displayname | Select-Object DisplayName, DisplayVersion, InstallDate |? displayname -like "*Adobe Acrobat Reader DC*"  
$check_MIP=Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Sort Displayname | Select-Object DisplayName, DisplayVersion, InstallDate |? displayname -like "*Microsoft Azure Information Protection Plugin For Adobe Acrobat Reader*"  

# Adobe prüfen
if ($check_adobe.DisplayVersion -ne "21.001.20145")  
{
if (!(Test-Path c:\temp\adobe)){New-Item C:\Temp\Adobe -ItemType Directory}
Copy-Item \\Server\Software\Adobe_Aip\* C:\temp\Adobe\
c:\temp\adobe\setup.exe /sall
$check_adobe=Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Sort Displayname | Select-Object DisplayName, DisplayVersion, InstallDate |? displayname -like "*Adobe Acrobat Reader DC*"  
}

# MIP-Plugin prüfen
if ($check_adobe.DisplayVersion -eq "21.001.20145")  
{
if ($check_MIP.DisplayVersion -ne "21.001.20135")  
{
if (!(Test-Path c:\temp\adobe)){New-Item C:\Temp\Adobe -ItemType Directory}
Copy-Item \\Server\Software\Adobe_Aip\* C:\temp\Adobe\
C:\Temp\Adobe\AIPPlugin_Reader_DC_Cont_Feb21.msi /quiet
$check_MIP=Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Sort Displayname | Select-Object DisplayName, DisplayVersion, InstallDate |? displayname -like "*Microsoft Azure Information Protection Plugin For Adobe Acrobat Reader*"  
}
}

if (Test-Path c:\temp\adobe)
{
if ($check_adobe.DisplayVersion -eq "21.001.20145")  
    {
    if ($check_MIP.DisplayVersion -eq "21.001.20135")  
        {Remove-Item c:\temp\adobe\ -Recurse -Force
        }
    }
}

Was ist anders? Ich habe in Zeile 14 eine weitere Prüfung eingebaut, so wie jeweils nach der Installation die Werte aktualisiert. Durch die Prüfung ist jetzt ausgeschlossen, dass der Adobe Reader und das Plugin gleichzeitig versucht werden zu installieren. Ich vermute dies hat zuvor zu dem oben genannten Problem geführt. Nachdem ich die Überprüfung eingebaut habe, dass das Plugin erst bei der richtigen Adobe Version installiert wird konnte das Setup bei allen Testrechnern sofort ausgeführt werden. Gleiches gilt auch für alle Clients in der Domäne, die das Setup jetzt las einmalige Aufgabe über die Taskplanung bekommen haben.

Und jetzt, da der Druck aus der ganzen Sache ist, werde ich mich der Verteilung per MSI widmen.


Gruß
Doskias