Die Liste „Installationselemente“ wird vom VMware AirWatch Admin Assistant für einige Installationselement-Typen (.dmg), aber nicht für Apple-Pakete (.pkg oder .mpkg) generiert. Sie können diese Liste generieren (oder ändern); dies ist der flexibelste Mechanismus zur Bestimmung des Installationsstatus.

Die Liste der Installationen kann eine beliebige Anzahl von Elementen wie Anwendungen, Einstellungsfenster, Frameworks oder andere paketartige Elemente, info.plists, einfache Verzeichnisse oder Dateien enthalten. Sie können eine beliebige Kombination von Elementen verwenden, um Munki bei der Ermittlung zu unterstützen, ob ein Element installiert ist oder nicht.

Ein Beispiel für eine automatisch generierte „installs“-Liste für 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>

Um zu ermitteln, ob Firefox 6 installiert ist oder nicht, sucht Munki nach einer Anwendung mit einem CFBundleIdentifier von org.mozilla.firefox und überprüft, ob die Version (CFBundleShortVersionString) mindestens 6.0 ist. Wenn Munki die Anwendung nicht finden kann oder deren Version niedriger als 6.0 ist, wird Firefox 6.0 als nicht installiert betrachtet. Installationslisten können mehrere Elemente enthalten. Wenn ein Element fehlt oder über eine ältere Version verfügt, wird das Element als nicht installiert betrachtet. Sie können Elemente, die zu einer installs-Liste hinzugefügt werden, manuell mit folgender pkginfo-Datei generieren:

        /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>
      

Kopieren Sie den gesamten installs-Schlüssel und -Wert und fügen Sie ihn ein oder kopieren Sie nur den dict-Wert und fügen Sie ihn einer vorhandenen Installationsliste in Ihrer pkginfo-Datei hinzu. Munki überprüft, ob das /Library/Internet Plug-ins/Flash Player.plugin vorhanden ist, und überprüft die Version, sofern vorhanden. Wenn die Version niedriger als 10.3.183.5 ist, wird das Element als nicht installiert betrachtet. Sie können Installationselemente für ein beliebiges filesystem-Element generieren, aber Munki weiß nur, wie die Versionen für paketartige Elemente bestimmt werden, die Info.plist oder version.plist mit Versionsinformationen enthalten.

Für andere filesystem-Elemente kann Munki nur die Existenz (im Falle eines Nicht-Paketverzeichnisses ermitteln oder eine Prüfsumme (bei Dateien) berechnen. Bei Dateien mit Prüfsummen schlägt der Test fehl (deshalb wird das Element als nicht installiert betrachtet), wenn die Prüfsumme für die Datei auf der Festplatte nicht mit der Prüfsumme in der pkginfo-Datei übereinstimmt.

        <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>
      

Wenn Sie möchten, dass Munki nur das Vorhandensein einer Datei überprüft und sich nicht um deren Inhalt kümmert, entfernen Sie die generierten md5checksum-Informationen in den Installationselementinformationen. Stellen Sie sicher, dass der angegebene Pfad intakt ist.

        <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>