Le logiciel Mac peut être fourni sous forme de .app
bundle d'applications (essentiellement un dossier contenant toutes les ressources du programme) ou sous la forme d' .pkg
un programme d'installation qui est un programme qui installe des applications d'une manière similaire à Windows.
Seuls les outils de ligne de commande sont disponibles sous forme de binaires simples qui seraient ensuite copiés quelque part dans l'utilisateur, PATH
par exemple /usr/local/bin
.
Ceux-ci peuvent être regroupés dans une image disque OS X / macOS ( .dmg
) ou dans un format d'archive traditionnel tel que .zip
ou .tar
.
Quelle est la logique pour laquelle le logiciel doit être installé avec un tel "disque virtuel"?
Cela dépend en grande partie du développeur. A .dmg
n'est qu'un disque dur virtuel et non un programme d'installation. Le choix d'utiliser un .dmg
concerne l'emballage plutôt que l'installation.
Si une application est un .app
bundle simple, elle est autonome et peut être exécutée en double-cliquant dessus. Il est généralement copié pour plus /Applications
de commodité.
En plus du chiffrement et des CLUF à l'ouverture, l'avantage d'un type .dmg
sur une archive est la marque. .dmg
Les icônes peuvent être personnalisées, des images d'arrière-plan personnalisées et la disposition du contenu peut être corrigée. .dmg
Les s sont généralement également en lecture seule afin que le contenu reste exactement tel que le développeur l'a voulu.
Ils obligent également l'utilisateur à sélectionner où il souhaite une application; lorsque vous décompressez une archive, le contenu est généralement extrait à l'endroit où se trouvait l'archive. En revanche, .dmg
s sera monté dans le système de fichiers, puis le .app
bundle doit être explicitement copié.
Pourquoi ne s'agit-il pas d'un simple fichier binaire ou je ne sais pas quoi?
Une application Mac est plus qu'un simple binaire. En plus du binaire (situé à <appname>.app/Contents/MacOS/
), an .app
inclut un certain nombre de ressources dans <appname>.app/Contents/Resources/
. Ces ressources incluent des icônes, des graphiques et des fichiers de localisation tels que en.lproj
.