Apple PackageMaker

B

bu24

Mitglied
Thread Starter
Dabei seit
06.04.2007
Beiträge
24
Reaktionspunkte
0
Hallo allerseits,

Basis: 10.5.7, IntelMac
Ich verwende jetzt erstmalig den neuen PackageMaker von Apple, da ein Produkt beim User später installiert werden soll.
Zwei Files des Produkts müssen in den Ordner "Dokumente" des gerade angemeldeten Benutzers installiert werden.
Also wenn der aktuell angemeldete Bentuzer z.B. "imac" heißt, müssen zwei Files in den Ordner "Dokumente" des Benutzers imac installiert werden.
Das gelingt mir absolut nicht. Jedes mal wird bei der Installation ein neuer Ordner Dokumente angelegt und zwar direkt auf dem Pfad der HD.

Bei der Installationsart vom PackageMaker wähle ich derzeit die Variante "Easy Insall" um auch die Plattform Panther noch zu unterstützen.
Hat jemand vielleicht mal einen Tipp, was ich für einen Pfad im Destination Feld eintragen soll. User/Documents/.... funktioniert auf jeden Fall nicht.

Ich bin für jeden Tipp dankbar.

Gruß
bu24
 
Müsste es nicht "Documents" heißen? Die Übersetzung des Ordnernamens in "Dokumente" wird dann vom OS erledigt.
 
reicht da nicht ein ~/documents?
Damit müsste doch das Homedir des Users benutzt werden.
 
Hallo,

auch wenn Du nur in das Feld: /Documents einträgst, funktioniert es nicht.
In dem Fall werden die Files in den Ordner HD / Dokumente gespeichert und wenn nicht vorhanden, dann würde dieser Ordner neu aufgemacht werden.
Wie ich schon geschrieben habe, liegt das Problem, beide Files in den Ordner
"Dokumente" des aktuellen Benutzers zu schreiben.
Ich habe bisher FileStorm als Installer verwendet. Nur der ist mir ein wenig zu unflexibel im Vergleich zum PackageMaker.


bu24
 
Hallo maba_de,

das ist ja gerade das was ich nicht verstehe, weil es unter UNIX so üblich ist.
Die Tilde bringt uns auch nicht weiter.
Trage ich ~/documents/ ein wird die Tilde als neuer Ordner unter "Benutzer" angelegt und dort in dem Ordner ~dann die files installiert.
Trotzdem komme ich nicht in den Ordner "Dokumente" meiner home directory.
 
$HOME/Documents/

oder

/User/$USER/Documents/

Wenn du /Documents angibst, ist es kein Wunder, dass es unter HD/Documents landet...

~ wird nur in einer Shell expandiert
 
Hallo ebm,

gerade hat sich von meinem Mac die Festplatte verabschiedet.
(Eine Woche alter 24" Mac, habe ich auch noch nicht gehabt).
Ich werde mich heute Nachmittag darum kümmern und Deinen Vorschlag
probieren. Wäre toll, wenn es klappen würde.
Ich habe schon mehrere Tage selbst nach einer Lösung gesucht.
Ich melde mich heute Nachmittag noch einmal.


Danke an alle für Eure Bemühungen !!!!!!!!!!:)

Gruß
bu24
 
Ich hab gerade wenig Zeit für Details, aber PackageMaker und User Folder ist ein besonders Thema. Sieh Dir einmal die Dokumentation an

Dinge wie "~" oder "$HOME" werden nach meiner Erinnerung NICHT aufgelöst

Alex
 
Hallo,

ich konnte es bisher noch nicht probieren.
Wenn es mit HOME nicht funktioniert, klapp es dann mit
/User/$USER/Documents/
oder gibt es dort auch Probleme?
 
Das ist dann das Gleiche. Der PackageMaker hat dann wohl keine Ahnung von den Systemvariablen. Das betrifft $HOME wie $USER.
 
Ja stimmt, ich habe es gerade probiert. Es funktioniert nicht.
Er legt auf der HD dann einen extra Ordner an aber nicht in der homedir.

Schade. Dann kann man wohl den PackageManager vergessen für diese Aufgabe oder?
 
Schau dir doch bitte nochmal den Link an. Du hast die Möglichkeit, Postflight-Scripte anzustoßen. In denen kannst du dann mit sudo, id, grep und awk den Nutzernamen und damit auch den Ordnernamen herausfinden. Ach ja: id -u -n gibt dir direkt den Nutzernamen des Nutzers, der gerade die Installation durchführt. Vorsicht: installierst du ins System, tust du dies als root!
 
OK, ich schaue mir den Link gerne noch mal an.
Aber es müsste doch einfacher gehen.

Danke für deine Hilfe.
 
http://s.sudre.free.fr/Software/documentation/Iceberg/English.lproj/documentation/FAQ.html
Unter How can I install files into the Library folder of the current user? ist ein Lösungsansatz, der vielleicht weiterhilft. Es geht darum mit Hilfe eines preflight-Script einem symbolischen Link zu erstellen und dann mit dem zu arbeiten.
Code:
 #!/bin/sh

ln -s $HOME /private/tmp/CurrentUser

exit 0

Selbst habe ich es noch nicht getestet, doch vielleicht findet ihr die Idee ja interessant genug um es auszuprobieren.

Edit: Die Beitrag nach 12:03 hatte ich nicht gelesen, da ich ab diesem Zeitpunkt gegessen habe und meine Antwort aber erst jetzt verfasste.
_ebm_ hat den Umweg über ein Postflight-Skript ja schon erwähnt.
Tut mir leid. :)
 
Muss dir nicht leid tun! deine Idee find ich noch eleganter ;)

Also

1) per Preflight nen Symlink auf das Home des Users. Das musst du dir aber mit der von mir angedeuteten Methode besorgen, da das Script möglicherweise unter dem falschen User läuft

2) dort hinein die Dateien kopieren

3) im Postflight den Symlink wieder entfernen!
 
Zuletzt bearbeitet:
Muss dir nicht leid tun! deine Idee find ich noch eleganter ;)
Danke :)

bu24 wäre nett, wenn du uns berichten würdest, ob es klappt mit dem letzten Lösungsvorschlag von _ebm_.
 
Hallo allerseits,

ich kann es derzeit nicht probieren, da ich außer Haus Kunden-Termine habe.
Sobald ich wieder im Büro bin, werde ich es probieren und Euch berichten, ob es funktioniert hat. Insgesamt finde ich es schon reichlich kompliziert, um nur etwas in die homedir einzutragen. Aber na ja, besser so als überhaupt nicht.
Danke noch mal für Eure Bemühungen.
 
So, ich werde mich jetzt mal an das Probieren geben und Euch berichten.
Eine Frage aber mal vorab: Ich verwende bei dieser ganzen Problematik den letzten bzw. aktuellen PackageMaker. Gibt es mit früheren Varianten auch die gleichen Probleme etwas in die homedir zu schreiben? Wenn nein, wäre es nur eine Frage wo man diesen noch besorgen kann. Ich selber habe bisher keine Erfahrungen damit sammeln können. Daher auch meine Frage an dieser Stelle.
Ich wünsche noch einen schönen Abend.
 
Zurück
Oben Unten