Erfahrungen mit dem Mac Package Wizard

Antworten
empagent
Beiträge: 65
Registriert: 01. Okt 2007, 13:43
Kontaktdaten:

Erfahrungen mit dem Mac Package Wizard

Beitrag von empagent » 12. Dez 2016, 14:49

Hallo zusammen,

wir sind in die Situation gekommen, uns mit der Softwareverteilung auf Apple-Geräte mittels des Agents for Mac OS zu beschäftigen. In der Pilotphase mit einigen wenigen einfachen Paketen läuft nach ein paar Startschwierigkeiten auch alles recht zufriedenstellend. Wir können die mit dem Mac Package Wizard erstellten Pakete (meist nur eine App oder ein PKG bzw. DMG) über die EMC installieren und deinstallieren, wobei wir aus Gründen des Aufwands bislang im Falle einer Deinstallation lediglich die Apps entfernen.

Nun sind wir jedoch erstmals mit einem Paket konfrontiert, bei dem wir nach der Installation des PKG noch ein Config-File an einem bestimmten Ort ablegen müssen. Was unter Windows mittlerweile sehr leicht von der Hand geht, stellt uns bei Mac OS (auch mangels Know-How in der Apple-Welt) aktuell vor größere Einstiegshürden.

Der Mac Package Wizard sieht so etwas ja leider (noch) nicht vor und die Online-Doku ist auch recht schmal gehalten. Geht das überhaupt schon (wir verwenden die 16.1.1)? Müssen wir hierzu ein eigenes DMG erstellen und wenn ja, mit dem systemeigenen Abbildtool oder lieber anderen Tools? Wie müsste die Struktur des DMG aussehen, damit zunächst die App bzw. das PKG aus dem DMG heraus installiert und danach die Config-Datei kopiert wird? In unserem Fall geht es "lediglich" darum, die TeamViewer Host-App for Mac zu installieren und ein angepasstes Configfile nach /library/preferences zu schieben. Vergleichsweise haben wir uns das mitgelieferte Cyberduck-Paket angesehen, werden daraus jedoch auch nicht wirklich schlauer, zumal ja hier wirklich eine App und kein PKG enthalten zu sein scheint.

Wir freuen uns über Eure Erfahrungen mit dieser Thematik.

Vielen Dank!
Christian

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7592
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Re: Erfahrungen mit dem Mac Package Wizard

Beitrag von Hendrik_Ambrosius » 12. Dez 2016, 21:10

Sie können in dem vom Wizard generierten Script noch weitere Shell-Kommandos, wie z.B. ein CP für die Konfig-Datei, per Texteditor hinzufügen.
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

empagent
Beiträge: 65
Registriert: 01. Okt 2007, 13:43
Kontaktdaten:

Re: Erfahrungen mit dem Mac Package Wizard

Beitrag von empagent » 13. Dez 2016, 13:03

Hallo Herr Ambrosius,

ist es egal, an welcher Stelle des Scripts der CP-Befehl steht? Wir haben "ins Blaue hinein" analog zu den Windows-Paketen im Packages-Verzeichnis auf dem Server auf der Ebene des "Install"-Ordners nun einen Ordner "Custom" erstellt und die Config-Datei dort abgelegt. Im setup.sh-Script haben wir dann folgende Zeilen am Ende ergänzt:

Code: Alles auswählen

CustomDir="$SrcDir/Custom"
cd "$CustomDir"
cp com.teamviewer.teamviewer.preferences.plist /library/preferences/
Dies scheint so jedoch nicht zu funktionieren. Was machen wir falsch?

Danke nochmals!

Benutzeravatar
mcc
Beiträge: 9
Registriert: 12. Jan 2017, 14:27
Kontaktdaten:

Re: Erfahrungen mit dem Mac Package Wizard

Beitrag von mcc » 16. Jan 2017, 13:26

Hallo,

hier im folgenden möchte ich Ihnen einen Lösungsweg vorstellen.

1.Nehmen sie folgendes Script:

Code: Alles auswählen

#!/bin/sh
#  TeamViewer.sh
#  Matrix42 AG
#
#  Created on 16/01/2017.
#  Copyright (c) 2000-2017 Matrix42 AG. All rights reserved.

syslog -s -l warning  "Emprium Agent installing TeamViewer.sh"


syslog -s -l warning  "--------------------------------------"
syslog -s -l warning  "--------------------------------------"

syslog -s -l warning  "Step 1"
syslog -s -l warning  "Installing Install TeamViewer.pkg"

sudo /usr/sbin/installer -pkg "/Volumes/TeamViewer/Install TeamViewer.pkg" -target /
# Installing the original TeamViewer pkg downloaded from: https://www.teamviewer.com/en/download/mac/
# This will executing pkg installtion from mounted TeamViewer dmg

syslog -s -l warning  "--------------------------------------"
syslog -s -l warning  "--------------------------------------"

syslog -s -l warning  "Step 2"
syslog -s -l warning  "Copy config file com.teamviewer.teamviewer.preferences.plist to /library/preferences/"
sudo cp /Volumes/TeamViewer/com.teamviewer.teamviewer.preferences.plist /library/preferences/
2.Paketieren Sie das Script mit dem PackageWizard:
Bild

Nach der Paketierung des Scripts hat der PackageWizard alle notwendigen Informationen, Dateien und Ordner erstellt.

3. "Install TeamViewer.pkg" in das soeben erstelle DMG kopieren.
Wie in Zeile 17 des Scripts zu lesen ist:

Code: Alles auswählen

sudo /usr/sbin/installer -pkg "/Volumes/TeamViewer/Install TeamViewer.pkg" -target /
muss das "Install TeamViewer.pkg" in das gemountete "TeamViewer.dmg" vorliegen, damit es vom Script ausgeführt werden kann.

Beim Kopieren des "Install TeamViewer.pkg" in das erstellte "TeamViewer.dmg" kann es zu Problemen führen, da der reservierte Platz des DMGs nicht ausreicht.
Bild

Um dieses Problem zu beseitigen empfiehlt es sich das "Install TeamViewer.pkg" mit dem Package Wizard zu paketieren.
Dabei ist zu achten, dass Sie die gleichen Angaben wie beim paketieren des Scripts eintragen.

Bild
Bild

4. Nun existieren zwei DMGs in zwei Export-Paketen.
- Ein DMG erstellt aus dem Script (Script-DMG)
- Ein DMG erstellt aus dem "Install TeamViewer.pkg" (PKG-DMG)

Mounten Sie das PKG-DMG, und löschen Sie das darin enthaltene "TeamViewer.pkg" (Alternativ umbenennen in "Install TeamViewer") . Sie müssen auch den Papierkorb entleeren, damit das "TeamViewer.pkg" aus dem PKG-DMG vollständig entfernt wird.

Im Anschluss können Sie das heruntergeladene "Install TeamViewer.pkg" in das PKG-DMG kopieren. Danach muss noch die plist, sowie das "TeamViewer.sh" Script aus dem Script-DMG in das PKG-DMG kopiert werden.

5. Löschen und ersetzten Sie das Script-DMG durch das PKG-DMG im Exportpaket.
Das Ergebnis sollte wie folgt aussehen:

Bild

Und in der Ordnerstruktur des Script-DMG liegen.

6. Um sicher zu sein, dass das TeamViewer.sh Script ausführbar ist, sollten Sie folgenden Terminalbefehl ausführen:

Code: Alles auswählen

sudo chmod a+x /Volumes/TeamViewer/TeamViewer.sh
- Wenn Sie möchten, besteht auch die Möglich, die TeamViewer App nach der Installation aus dem /Applications Folder mit dem PackageWizard zu paketieren und sich aus der Ordnerstruktur die .ico Datei herauszunehmen und diese in im Ordnerverzeichnis des Script-DMGs zu verwenden. (Dadurch erhalten Sie ein Icon im SoftwareDepot der EMC)

Bild
Dateianhänge
006.png
(110.35 KiB) 426-mal heruntergeladen
005.png
(84.37 KiB) 413-mal heruntergeladen
004.png
(70.31 KiB) 420-mal heruntergeladen
003.png
(88.8 KiB) 426-mal heruntergeladen
002.png
(25.28 KiB) 419-mal heruntergeladen
001.png
(61.1 KiB) 430-mal heruntergeladen
Miralem Cebic
Product Owner
miralem.cebic@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | http://www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis.
Views expressed are not necessarily those of Matrix42 AG or of the support team.

empagent
Beiträge: 65
Registriert: 01. Okt 2007, 13:43
Kontaktdaten:

Re: Erfahrungen mit dem Mac Package Wizard

Beitrag von empagent » 24. Jan 2017, 17:09

Hallo Herr Cebic,

zunächst einmal vielen Dank für die ausführliche Anleitung - super Support! Da wäre ich natürlich im Leben nicht drauf gekommen, es so zu versuchen.

Ich bin Ihrer Anleitung soweit gefolgt bzw. habe sie für meine Zwecke angepasst, da ich nicht den kompletten Teamviewer, sondern nur den Teamviewer Host verteilen möchte, den wir zudem noch customized haben. Allerdings stehe ich nun vor einem Problem mit derjenigen Zeile des Scripts, die das Programm-PKG installieren soll. In meinem Fall lautet diese nun:

Code: Alles auswählen

sudo /usr/sbin/installer -pkg "/Volumes/TeamViewer Host/Install TeamViewerHost.pkg" -target /
Führe ich das komplette Script im Terminal aus, erhalte ich im folgende Fehlermeldung:

Code: Alles auswählen

Error trying to locate volume at /
Kopiere ich jedoch diese Zeile separat ins Terminal und führe sie aus, funktioniert die Installation des PKGs tadellos. Hier noch das komplette Script:

Code: Alles auswählen

#!/bin/sh
#  TeamViewer.sh
#  Matrix42 AG
#
#  Created on 16/01/2017.
#  Copyright (c) 2000-2017 Matrix42 AG. All rights reserved.
#  echo "Hello World!"
syslog -s -l warning  "Empirum Agent installing TeamViewer Host.sh"
syslog -s -l warning  "--------------------------------------"
syslog -s -l warning  "--------------------------------------"
syslog -s -l warning  "Step 1"
syslog -s -l warning  "Installing Install TeamViewerHost.pkg"
sudo /usr/sbin/installer -pkg "/Volumes/TeamViewer Host/Install TeamViewerHost.pkg" -target /
# Installing the original TeamViewerHost pkg downloaded from: https://www.teamviewer.com/en/download/mac/
# This will execute pkg installation from mounted TeamViewer Host dmg
syslog -s -l warning  "--------------------------------------"
syslog -s -l warning  "--------------------------------------"
syslog -s -l warning  "Step 2"
syslog -s -l warning  "Copy config file com.teamviewer.teamviewer.preferences.plist to /library/preferences/"
sudo cp "/Volumes/TeamViewer Host/com.teamviewer.teamviewer.preferences.plist" /library/preferences
Der CP-Befehl am Ende des Scripts funktioniert übrigens problemlos, wenn ich das Script komplett ausführe. Kommentiere ich die Zeile mit der PKG-Installation aus, läuft das Script durch.

Wo liegt der Fehler?

Danke nochmals und Gruß
Christian Bartz

Benutzeravatar
mcc
Beiträge: 9
Registriert: 12. Jan 2017, 14:27
Kontaktdaten:

Re: Erfahrungen mit dem Mac Package Wizard

Beitrag von mcc » 24. Jan 2017, 18:15

Hallo Herr Bartz,

vielen Dank für Ihre Rückmeldung.

Bezüglich Ihres Problems mit dem Installer, kann ich nur spekulieren.
Das Script ist laut http://www.shellcheck.net fehlerfrei.
Auf http://stackoverflow.com/questions/2540 ... 0#25409760 wird genau das gemacht, was Sie auch versuchen.

Ich habe Ihr Script ausgeführt und bei mir wurde TeamViewer Host installiert. Einziger Unterscheid ich habe in Zeile 13 das Leerzeichen bei "TeamViewer Host" entfernt.

Code: Alles auswählen

sudo /usr/sbin/installer -pkg "/Volumes/TeamViewerHost/Install TeamViewerHost.pkg" -target /
  • Kontrollieren Sie am besten noch einmal alle Pfade und Namen ob diese korrekt sind.
  • Überprüfen Sie ob das DMG Image, welches der Package Wizard erstellt hat, gemounted ist.
  • Wenn Sie einen Mac zum testen in Ihrer Umgebung haben, importieren Sie das Paket und verteilen Sie es auf einen Test-Client (wenn möglich).
  • Überprüfen Sie das Encoding des Scripts auf UTF-8.
  • Vergewissern Sie sich, dass Ihr Script die Rechte zum Ausführen hat.

    Code: Alles auswählen

    sudo chmod a+x <Pfad zum Script>.sh 
Miralem Cebic
Product Owner
miralem.cebic@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | http://www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis.
Views expressed are not necessarily those of Matrix42 AG or of the support team.

empagent
Beiträge: 65
Registriert: 01. Okt 2007, 13:43
Kontaktdaten:

Re: Erfahrungen mit dem Mac Package Wizard

Beitrag von empagent » 31. Jan 2017, 17:33

Wir konnten das Problem nun lösen. Es befanden sich nicht-MacOS-konforme Satzende-Zeichen im Script, vermutlich durch temporäre Bearbeitung des Scripts über einen Drittrechner.

Vielen Dank nochmals an Herrn Cebic für die freundliche Unterstützung!

Antworten

Zurück zu „Paketierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 27 Gäste