Wanneer een pakket van het type Apple wordt geïnstalleerd, kunt u een 'receipt' (ontvangstbewijs) genereren op de machine. Metapakketten genereren meerdere 'receipts'. De VMware AirWatch Admin Assistant voegt de namen en versies van die 'receipts' toe aan een array met 'receipts' in de pkginfo van een pakket.

Hieronder ziet u een array met 'receipts' voor de Avid LE QuickTime-codecs, versie 2.3.4.

        <key>receipts</key>
        <array>
        
          <dict>
           <key>filename</key> <string>AvidCodecsLE.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>AvidCodecsLE</string> <key>packageid</key> <string>com.avid.avidcodecsle</string> <key>version</key> <string>2.3.4</string> 
          </dict>
        
        </array>
      

Als Munki de array met 'receipts' gebruikt om de installatiestatus te bepalen, wordt het bestaan en de versie van elke 'receipt' in de array gecontroleerd. Als een 'receipt' ontbreekt of een lager versienummer heeft dan de versie die is opgegeven voor dat 'receipt' in de array met 'receipts', wordt het item als niet-geïnstalleerd beschouwd. Alleen als elk 'receipt' aanwezig is en alle versies identiek zijn aan die in pkginfo (of hoger), wordt het item als geïnstalleerd beschouwd. Om problemen op te lossen, gebruikt u het hulpprogramma pkgutil om de geïnstalleerde 'receipts' te controleren.

        # pkgutil --pkg-info com.avid.avidcodecsle
        No receipt for 'com.avid.avidcodecsle' found at '/'.
      

In dit geval is het 'receipt' van de Avid LE QuickTime-codecs niet gevonden op deze machine. Bij veel metapakketten is een algemene complicatie met 'receipts' dat de installatielogica ertoe leidt dat slechts een subset van de subpakketten wordt geïnstalleerd. Doorgaans bevat de lijst met 'receipts' een 'receipt' voor elk subpakket in een metapakket (en deze informatie is ook nodig als Munki wordt gevraagd het software-item te verwijderen op basis van 'receipts' van pakketten). Maar als het normaal is en u verwacht dat niet elk subpakket daadwerkelijk wordt geïnstalleerd, zal Munki het item continu als niet-geïnstalleerd markeren en steeds opnieuw aanbieden om het te installeren. Eén oplossing voor dit probleem is het toevoegen van een optionele sleutel met de waarde 'true' voor de 'receipts' die optioneel zijn geïnstalleerd. Munki zal deze 'receipts' dan niet in aanmerking nemen bij het bepalen van de installatiestatus.

        <key>receipts</key>
        <array>
        
          <dict>
           <key>filename</key> <string>mandatory.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>Mandatory</string> <key>packageid</key> <string>com.foo.mandatory</string> <key>version</key> <string>1.0</string> 
          </dict>
          <dict>
           <key>filename</key> <string>optional.pkg</string> <key>installed_size</key> <integer>1188</integer> <key>name</key> <string>Optional</string> <key>optional</key> <true/> <key>packageid</key> <string>com.foo.optional</string> <key>version</key> <string>1.0</string> 
          </dict>
        
        </array>
      

Een andere oplossing voor deze situatie is om een array met 'installs' op te geven met items die door het pakket worden geïnstalleerd. Munki kan een array met 'installs' gebruiken in plaats van de 'receipts' om de installatiestatus te bepalen.