A lista de itens de instalação é gerada pelo VMware AirWatch Admin Assistant para alguns tipos de itens de instalação (.dmg), mas não para pacotes da Apple (.pkg ou .mpkg). Você pode gerar (ou modificar) essa lista, e ela é o mecanismo mais flexível para determinar o status da instalação.

A lista de instalações pode conter qualquer número de itens, como aplicativos, painéis de preferências, estruturas ou outros itens de estilo de pacote, info.plists, diretórios simples ou arquivos. Você pode usar qualquer combinação de itens para ajudar o Munki a determinar se um item está instalado ou não.

Um exemplo de uma lista de "instalações" gerada automaticamente para o 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>

Para determinar se o Firefox 6 está instalado ou não, o Munki verifica se há um aplicativo com um CFBundleIdentifier de org.mozilla.firefox e, se localizado, verifica se a versão dele (CFBundleShortVersionString) é pelo menos 6.0. Se o Munki não conseguir encontrar o aplicativo ou sua versão for anterior à 6.0, ele considerará o Firefox-6.0 como não instalado. As listas de instalações podem conter vários itens. Se algum item estiver faltando ou tiver uma versão mais antiga, o item será considerado não instalado. Você pode gerar manualmente itens para adicionar a uma lista de instalações usando o seguinte pkginfo:

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

Copie e cole toda a chave e o valor das instalações, ou copie apenas o valor dict e adicione-o a uma lista de instalações existente dentro do seu arquivo pkginfo. O Munki verifica a existência de /Library/Internet Plug-Ins/Flash Player.plugin e, se encontrado, verifique a versão ele. Se a versão for inferior à 10.3.183.5, o item seria considerado não instalado. Você pode gerar itens de instalação para qualquer item do sistema de arquivos, mas o Munki sabe somente como determinar as versões para itens de estilo de pacote que contêm um Info.plist ou version.plist com informações de versão.

Para outros itens do sistema de arquivos, o Munki só pode determinar a existência (no caso de um diretório não empacotado), ou pode calcular uma soma de verificação (para arquivos). Para arquivos com somas de verificação, o teste falha (e, portanto, o item será considerado não instalado) se a soma de verificação do arquivo no disco não corresponder à soma de verificação no 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>
      

Se você quiser que o Munki verifique apenas a existência de um arquivo e não se preocupe com o conteúdo dele, remova as informações geradas do md5checksum nas informações do item de instalação. Certifique-se de que o caminho fornecido esteja intacto.

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