Packaging FileMaker Pro for Munki


If your organization, school, or company has volume licensing for FileMaker Pro and want to make your package Munki-able, this is how you do it (based on Assisted install for FileMaker Pro and FileMaker Pro Advanced).

munkifilemaker01
Older: Find your FileMaker installer .mpkg file. This installer file will likely come on a read-only medium (read-only .dmg or actual physical CD/DVD), so drag it to a temporary read/write location (e.g., your desktop).

Newer: In newer versions, the .dmg will have the Assisted Install.txt right in there next to the .pkg, and there is no .mkpg. If you are copying to a working folder (e.g., on your desktop), be sure you’re copying all the invisible files as well.

munkifilemaker02
Older: Once that’s copied over, right-click it and select Show Package Contents.

munkifilemaker03
Both Older and Newer: You should see a small text file called Assisted Install.txt. Open that to edit it.

munkifilemaker04
Both Older and Newer: Add in or change an options as you see fit (you don’t need quotation marks around anything—just put the text for AI_USERNAME, AI_ORGANIZATION, and AI_LICENSEKEY after the equal sign on each line). For other options, 0 means No and 1 means Yes.

Make sure you change AI_LICENSE_ACCEPTED and AI_SKIPDIALOG to be 1 instead of 0.

When you’re done, close and save the file.

Older: Next, just go ahead and import that modified .mpkg file into Munki (e.g., munkiimport FileMaker Pro ## Advanced.mpkg). The Munki import process will create a read-only .dmg container for the .mpkg file.

Newer: For newer versions, there is no .mpkg, so you’ll have to create a disk image of the working folder you created earlier (e.g., ~/Desktop/FileMaker). Be sure to make it an HFS+ disk image and not an APFS one.

hdiutil create FileMakerPro17.dmg -volname “FileMaker Pro 17” -srcfolder ~/Desktop/FileMaker -fs HFS+

You can then munkiimport the resulting .dmg.

Make an installs array (/usr/local/munki/makepkginfo -f) based off the installed FileMaker so Munki doesn’t get into an install loop, and then paste that installs array in the pkginfo for FileMaker and run makecatalogs afterwards.


14 responses to “Packaging FileMaker Pro for Munki”

  1. Works good except now it loops wanting to install it……the code above doesn’t seem to work. You put that where? Mine is at:

    /munki_repo/pkgsinfo/apps/FileMakerPro12-12

  2. Hi, ericdano.

    You’re absolutely right—you put the code in the /munki_repo/pkgsinfo/apps/FileMakerPro12-12 file (opening it in a text editor like TextWrangler), and really put it anywhere that doesn’t disrupt something else.

    Just to give you an example, this is an excerpt from my pkgsinfo file:

    <key>installer_item_size</key>
    <integer>449775</integer>
    <key>installs</key>
    <array>
    <dict>
    <key>path</key>
    <string>/Applications/FileMaker Pro 12 Advanced/FileMaker Pro Advanced.app</string>
    <key>type</key>
    <string>file</string>
    </dict>
    </array>

    <key>minimum_os_version</key>
    <string>10.4.0</string>
    <key>name</key>
    <string>FileMaker Pro 12 Advanced</string>

    Does that help?

  3. You ran makecatalogs afterwards, too?

    Can you make sure your file path is absolutely correct? On a machine you have it installed on, drag the launcher to an open Terminal.app window and see what the path looks like. Then take out the backslashes… that should be what’s in your pkginfo file.

  4. Path is correct. Here is the actual file in /pkgsinfo/apps

    _metadata

    created_by
    root
    creation_date
    2015-06-29T18:59:53Z
    munki_version
    2.2.4.2431
    os_version
    10.10.3

    autoremove

    catalogs

    Standard

    category
    apps
    description
    FileMaker Pro 12
    developer
    Apple
    display_name
    FileMakerPro12
    installed_size
    1318188
    installer_item_hash
    3641d4f1ac59f2b6c5efbfb49b208aa2528780743dbd4248c68acd2cc48180c6
    installer_item_location
    apps/FileMaker Pro 12.dmg
    installer_item_size
    383096
    installs

    path
    /Applications/FileMaker Pro 12/FileMaker Pro.app
    type
    file

    minimum_os_version
    10.4.0
    name
    FileMakerPro12
    receipts

    Then there is some more stuff, but the stuff we are talking about….

  5. To be perfectly honest, what worked for my machines was not technically what’s in the official documentation.

    Instead of something like this:

    <key>installs</key>
    <array>
    <dict>
    <key>path</key>
    <string>/Applications/FileMaker Pro 12/FileMaker Pro.app</string>
    <key>type</key>
    <string>file</string>
    </dict>
    </array>

    Can you try something more like this?

    <key>installs</key>
    <array>
    <dict>
    <key>type</key>
    <string>application</string>
    <key>path</key>
    <string>/Applications/FileMaker Pro 12/FileMaker Pro.app</string>
    </dict>
    </array>

    If that doesn’t work, you may have to call in the big guns and post to the Munki Dev mailing list.

  6. For my package, file worked but not application. Glad to hear yours is working actually the way it’s supposed to!

  7. What you want to do is run the makepkginfo command with the -f switch. This will spit out an installs array that you can drop into the pkgsinfo file with 100% accuracy for the specific app you throw at the command:

    sudo /usr/local/munki/makepkginfo -f /Path/To/Yo/Installed/App/Bruh

    This solves many an install array problem. I use it (mostly) for CC app deployment as touched on here:

    https://foigus.wordpress.com/2014/12/05/distributing-adobe-cc-2014-via-munki/

  8. I generally use makepkginfo -f when I can, but as I mention above doing the md5 hash on the file won’t work for FileMaker Pro, because updates and patches will change the hash. To know that it’s installed, I just want to know that the file exists.

  9. You should be using the CFBundleShortVersionString to manage what gets installed. If you install a FileMaker update (say 14.1 on a 14.0) munki won’t try to install 14.0 again because a new version of the application bundle exists.

    The md5checksum key is really only necessary when checking to see if a non-bundle-style file exists on a client. Otherwise logic will run on the CFBundleShortVersionStrings and they’ll will be used to determine what version of the app is installed.

    installs

    CFBundleIdentifier
    com.filemaker.client.pro
    CFBundleName
    FileMaker Pro
    CFBundleShortVersionString
    11.0.2
    CFBundleVersion
    11.0.2
    minosversion
    10.5.0
    path
    /Applications/FileMaker Pro 11/FileMaker Pro.app
    type
    application
    version_comparison_key
    CFBundleShortVersionString

Leave a Reply to ericdano Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.