J'ai créé un package comprenant 2 composants en fonction du fichier --component-plist
. sur le fichier plist J'ai ajouté le drapeau ci-dessous pour éviter downgrade:pkgbuild OSX, Appliquer l'échec d'installation en cas de rétrogradation
BundleIsVersionChecked: Don't install bundle if newer version on disk? (bool)
quand je joue le scénario de déclassement, je reçois le message suivant:
Sep 15 11:42:49 os-x-10 installd[284]: PackageKit: Skipping component \
"com.my.driverAE21E" (<current_version>) because the version \
<new_version> is already installed at <my_component>
Cela devrait, mais malheureusement, l'installation continue, et l'autre composant est correctement installé, ainsi que les scripts preinstall
et postintsall
- donc je reçois un mélange des deux versions.
Existe-t-il un moyen d'imposer la validation de la version du composant avant toute tentative d'installation et d'arrêter le processus d'installation si la validation n'a pas été réussie?
MISE À JOUR:
Une autre approche qui peut me aider est d'empêcher l'exécution de scripts de préinstallation et postinstallation en cas d'une tentative de rétrograder est fait.
J'ai vu une référence à une question sans réponse à ce sujet here.