Je veux lancer une boîte de dialogue d'erreur (et échouer l'installation) si un certain fichier existe sur le système. C'est possible? pkg = flat file pkgEst-ce que le fichier plat macOS pkg installer peut-il afficher une erreur?
Répondre
Il est possible de personnaliser le programme d'installation de diverses manières pour obtenir la fonctionnalité généralement requise. Généralement, dans votre scénario, un script Pre-Installation
peut être utilisé ou un Package Installer Plugin
. Les options sont normalement définies dans le distribution.dist
du paquet d'installation qui fonctionne essentiellement comme le schéma qui va suivre.
Voir productbuild
dans les pages de manuel:
--scripts scripts chemin - Le contenu du chemin des scripts est ajouté à l'archive produit pour une utilisation par des commandes system.run() commandes dans la distribution. Ceci est valide uniquement pour les archives de produit destinées à l'application OS X Installer.
plug-ins de chemin---plugins - Le contenu du chemin des plug-ins est ajouté à l'archive de produit pour une utilisation par le mécanisme de plug-in de l'application d'installation OS X. Il contiendra normalement un fichier InstallerSections.plist et un ou plusieurs bundles de plugins.
J'ai déjà script qui renvoie le code de sortie non nul et l'installation échoue. Le problème est que l'utilisateur ne sait pas ce qui a échoué et je ne peux pas lancer de texte personnalisé décrivant ce qui a échoué. – PnotNP
@NulledPointer, je suggère alors de créer un plug-in d'installation; vous pouvez présenter n'importe quel type d'interface Cocoa, fenêtre (les fenêtres modales fonctionnent bien dans cette situation), etc. Apple avait quelque part un exemple, même si je ne le trouve pas. Comme il semble que vous utilisez 'Packages', il peut y avoir quelque chose dans la documentation. –
@NulledPointer: J'ai trouvé un [exemple d'Apple archivé] (http://mirror.informatimago.com/next/developer.apple.com/samplecode/InstallerPluginSample/) (oui, c'est vieux, bien que les mêmes principes s'appliquent). –