Installer-Plugins in Paketen mit denselben Root-Rechten wie die zu installierenden Pakete erstellen (Mac OS X)

StackOverflow https://stackoverflow.com//questions/9693673

Frage

Ich arbeite in einem Mac OS X-Projekt, in dem das Installationsprogramm mit den Paketen erstellt wird Werkzeug.Ich sehe, dass dieses Tool weniger verwendet wird als das, das Package Maker genannt wird, und deshalb finde ich es schwierig, Hilfe zu bekommen, aber nun, hier ist die Frage:

Ich habe erfolgreich Installer-Plugins gemäß der offiziellen Anleitung erstellt (http://s.sudre.free.fr/Stuff/Installer/Installer_Plugins/index.html ), aber jetzt ist das Problem, dass einer von ihnen mit Root-Rechten ausgeführt werden muss und bei Bedarf zur Eingabe des Administratorkennworts auffordert.

Jedes Paket kann mit Administratorrechten zusammen mit der Ausführung eines Skripts vor und nach der Installation kopiert werden, aber dieser Schritt erfolgt nach der Ausführung des Plugins, während ich es zuvor ausführen musste.

Ich könnte das tun, indem ich einen grundlegenden Autorisierungscode (mit dem veralteten AuthorizationExecuteWithPrivileges, da die von Apple empfohlenen komplexen Problemumgehungen in einem Plugin wirklich sind) in das Plugin selbst schreibe.

Jetzt funktioniert alles (mein privilegierter Code und die Installation), aber das Installationsprogramm fragt zweimal nach einem Administratorkennwort, eines für das Plugin und das andere vor der eigentlichen (Paket-) Installation, was nicht allzu "benutzerfreundlich" ist.

Kennt jemand einen Workaround oder eine mögliche Lösung?

Danke im Voraus.

War es hilfreich?

Lösung

Alte Frage, aber ich werde das als Option aufstellen.

In einem Installationsprogramm, das ich mit Paketen erstellt habe, hatte ich eines der Skripte vor / nach dem Flug, das sich um alles kümmerte, was erhöhte Berechtigungen benötigte.Sie müssen dieses bestimmte Paket nach einer Erhöhung fragen lassen, aber dann wird das Skript mit erhöhten Berechtigungen ausgeführt.

In diesem Beispiel habe ich also ein Plugin, um dem Benutzer einige Fragen zu stellen, und dann speichere ich diese Informationen unter / tmp, damit das Skript sie lesen und ausführen kann.

Ein bisschen um die Kurve, aber funktioniert und viel einfacher als zu versuchen, es nicht zu benutzen AuthorizationExecuteWithPrivileges

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top