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).
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.
Older: Once that’s copied over, right-click it and select Show Package Contents.
Both Older and Newer: You should see a small text file called Assisted Install.txt. Open that to edit it.
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.
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”
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
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?
No, that still makes it loop.
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.
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….
Shoot, that didn’t work. Here is a dropbox link to it
https://www.dropbox.com/s/p502t3d9mvv64m4/FileMakerPro12-12?dl=0
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.
Perfect. That works fine. THANKS!!!
For my package, file worked but not application. Glad to hear yours is working actually the way it’s supposed to!
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/
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.
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
Your site stripped the tags:
http://pastebin.com/6yHiRwR6
Thanks. I’ll give that a shot.