La liste des éléments d'installation est générée par VMware AirWatch Admin Assistant pour certains types d'éléments d'installation (.dmg), mais pas pour les modules Apple (.pkg ou .mpkg). Vous pouvez générer (ou modifier) cette liste. Cela constitue le mécanisme le plus flexible pour déterminer l'état de l'installation.

La liste des installations peut contenir un nombre illimité d'éléments, tels que des applications, des volets de préférence, des infrastructures ou d'autres éléments de type bundle, des fichiers info.plist, des répertoires simples ou des fichiers. Vous pouvez utiliser n'importe quelle combinaison d'éléments pour aider Munki à déterminer si un élément est installé ou non.

Exemple de liste « installs » générée automatiquement pour Firefox 6.0

<key>installs</key><array><dict><key>CFBundleIdentifier</key><string>org.mozilla.firefox</string><key>CFBundleName</key><string>Firefox</string><key>CFBundleShortVersionString</key><string>6.0</string><key>minosversion</key><string>10.5</string><key>path</key><string>Applications/Firefox.app</string><key>type</key><string>application</string></dict></array>

Pour déterminer si Firefox 6 est installé ou non, Munki recherche une application avec un identifiant CFBundleIdentifier de org.mozilla.firefox et, le cas échéant, vérifie que sa version (CFBundleShortVersionString) est supérieure ou égale à 6.0. Si Munki ne parvient pas à trouver l'application ou si sa version est inférieure à 6.0, il considère que Firefox 6.0 n'est pas installé. Les listes d'installations peuvent contenir plusieurs éléments. Si un élément est manquant ou est d'une version antérieure, l'élément est considéré comme non installé. Vous pouvez générer manuellement des éléments à ajouter à une liste installs à l'aide de la commande makepkginfo suivante :

        /Library/Application\ Support/AirWatch/Data/Munki/bin/makepkginfo -f /Library/Interne
        t\ Plug-Ins/Flash\ Player.plugin
      
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/Prope
        rtyList-1.0.dtd">
        <plist version="1.0">
        <dict>
        
          <key>installs</key>
          <array>
           <dict>  <key>CFBundleShortVersionString</key> <string>10.3.183.5</string> <key>path</key> <string>/Library/Internet Plug-Ins/Flash Player.plugin</string> <key>type</key> <string>bundle</string>  </dict> 
          </array>
        
        </dict>
        </plist>
      

Copiez et collez intégralement la clé installs et la valeur, ou copiez uniquement la valeur dict et ajoutez-la à une liste d'installations existante dans votre fichier pkginfo. Munki vérifie l'existence de /Library/Internet Plug-Ins/Flash Player.plugin et, le cas échéant, vérifie sa version. Si la version est inférieure à 10.3.183.5, l'élément est considéré comme n'étant pas installé. Vous pouvez générer des éléments installs pour n'importe quel élément de système de fichiers, mais Munki peut uniquement déterminer les versions des éléments de type bundle contenant un fichier Info.plist ou version.plist avec des informations de version.

Pour les autres éléments de système de fichiers, Munki peut uniquement déterminer l'existence d'un répertoire qui n'est pas un répertoire de bundle ou calculer un total de contrôle (pour les fichiers). Pour les fichiers avec des totaux de contrôle, le test échoue (et l'élément est par conséquent considéré comme n'étant pas installé) si le total de contrôle du fichier sur le disque ne correspond pas au total de contrôle du fichier pkginfo.

        <key>installs</key>
        <array>
        
          <dict>
           <key>md5checksum</key> <string>087fe4805b63412ec3ed559b0cd9be71</string> <key>path</key> <string>/private/var/db/dslocal/nodes/MCX/computergroups/loginwindow.plist</s tring> <key>type</key> <string>file</string> 
          </dict>
        
        </array>
      

Si vous souhaitez que Munki vérifie uniquement l'existence d'un fichier et qu'il ignore son contenu, supprimez les informations md5checksum générées dans les informations sur les éléments d'installation. Assurez-vous que le chemin fourni est intact.

        <key>installs</key>
        <array>
        
          <dict>
          <key>path</key>
          <string>/private/var/db/dslocal/nodes/MCX/computergroups/loginwindow.plist
          </string>
          <key>type</key>
           <string>file</string> 
          </dict>
        
        </array>