Category Archives: installers

Add `product id` to a distribution pkg with

Packages is a great GUI tool for creating distribution and flat .pkg installers for various needs in your environment.  Version 1.2.2 of Packages added the ability to add a product id to the pkg .dist file at build time.

Documented at distribution-style packages need to have a unique product IDs included in the distribution file for it to work with startosinstall‘s --installpackage option. Without a product id the package is not included in the output of that tool.

To add a product id to a Packages project do the following:

  1. In the “Packages->Preferences…->Advanced” settings tick the box to “Show Advanced User Options” advanced-preferences.png
  2. Create a new Distribution Project. Access the “Project” listing on the left and in the “Settings” tab you’ll see “Advanced Options”. Scroll to the “product id”.project-settings.png
  3. Once you build the pkg, the distribution file in the package will contain a product idpkg-distribution.png


Flash Player Adds Phone Home Analytics

Update: This issue seems to be isolated to version as subsequent releases do not contain the LaunchDaemon and executable.  

Starting with the Flash Player there are two new files added to the installer that attempt to send anonymous analytic data back to Adobe.  The files are a new LaunchDaemon at /Library/LaunchDaemons/com.adobe.SC.FPFeedbackService-1.0.plist that fires off  /Library/Application Support/Adobe/FPFeedbackService.  Running strings against the FPFeedbackService binary reveals some interesting tidbits:

# Following anonymous information is being collected from your machine.
# OS, OSType
- Operating System details
# UserAgent
- Browser details
# FlashVersion
- Installed Flash Player version
# RenderMode
- Represents the render mode of the SWF content.
# SWFVersions
- It is the list of SWF Versions played in browser and their count.
e.g. SWF10|23 means that SWF file having version 10 have been played 23 times.
# ASVersions
- It is the list of Action Script Versions associated to SWF files and their count.
e.g. AS2|10 means SWF file having Action Script Version 2 have been played 10 times.
# APIList
- The API List represents the collated API and its count in all played SWF files.
API names have been encoded to reduce the network traffic.
e.g. flash.display3D::Context3D will be encoded as 17.


User has disabled the service.Exiting.
Analytics Disabled.Exiting.

I found no option for disabling the analytics in the Flash Player PreferencePane.  Flash Player’s configuration can be managed with a /Library/Application Support/Macromedia/mms.cfg configuration file.  That’s how automatic updates have been suppressed previously. However, there is no mention of the new analytics or how to disable it in the ADOBE® FLASH® PLAYER 20.0 Administration Guide.  There is no mention in the blog post announcing the release, either. I’ve submitted a comment to that post for clarification but it has yet to be approved by a moderator.

The macadmins Slack team discussed, dug in, and and discovered that it can most likely be disabled by adding the entry DisableAnalytics=1 to the mms.cfg file.

To suppress automatic updates and disable analytics, the mms.cfg file should look like:


Tagged , , ,

Office 2016 Mac admin resource links

Below is a gathering of all the discoveries fellow Mac admins have documented regarding Office 2016 for Mac; both Office 365 and Volume License varieties.  This post will be updated as new issues are made known.

Discussion and discovery on these topics and all things Microsoft Office are on-going on the Macadmins Slack team in channel #microsoft-office.  You can get an invite to join us on Slack by going to

Office 2016 Direct Download links – Straight from the source and curated by Paul Bowden at Microsoft, this lists all downloads and updates since the first non-preview release on 7/9. The red table lists latest versions available, the green table lists all the permalinks, and the black table has links to all releases and KB articles, plus extra information like build date.

Demystify Office 2016 for Mac – in Slack/Twitter @clburlison – use this excellent guide to distinguish the different installation/license/upgrade options for Office 2016.

Microsoft Office 2016 for Mac serialization changes – in Slack @macmule

Suppressing first launch “What’s New” for Excel, Outlook, Powerpoint, Word & OneNote, and Outlook’s account setup: – in Slack @tvsutton – in Slack @eholtam

Volume License installer issues: – being addressed in the December release – in Slack @tvsutton – @tvsutton

Outlook 2016 setup script: – in Slack @talkingmoose – My fork addressing running the setup script on first launch of Outlook.

Office 2016 Packaging: – in Slack @franton

Suppress Microsoft AutoUpdate launch warning – needs to be run per-user – in Slack @erik

Remove Office 2011 script (and some shared 2016 bits like license, MAU, etc.) – in Slack @talkingmoose

Administering Office 2016 for Mac presentations by @talkingmoose – PSU 2015 – University of Utah 2015 (QT) – University of Utah 2015 (Streaming)

Fun with Microsoft Office 2016 – in Slack @hunty

Tagged ,

Using pkgutil To Adjust Flat Packages

“I love it when companies break away from the standard pkg practices.”

– No one ever

When you run into an installer that is doing something you don’t expect or recommend we get to put on our Mac admin spelunking hat to dive into the depths of the installer to see what’s going on.  There are some handy tools that make this easier already bundled in the OS.  Those are: pkgutil and installer.  There are also good 3rd party apps like Pacifist and Suspicious Package that I use for examining installers as well.  For this exercise I didn’t need those.

I ran into an issue with the Fiery E-22C driver installer from EFI launching an app mid-install to offer to setup printers.

Not Helpful

That’s great for home users with a Fiery front end (who doesn’t have a Fiery at home?) but not for deploying in the enterprise.  The only way to get the drivers to install at this point was to click the link in the bottom left of the app window.  Not ideal. I tried many ways to bypass the “wizard” app as the installer existed but even when attempting a CLI install it would launch the app when a user was logged and the install would totally fail if no user was logged in.

One thing going for us at this point is the pkg is a flat package. Running the following will extract the pkg to better examine it:

pkgutil --expand ~/Desktop/Fiery\ Printer\ Driver.pkg ~/Desktop/fieryprinterdrivers

Navigating to ~/Desktop/fieryprinterdrivers shows us the expanded package contents:

Expanded Package

 Right click on the “FieryPrinterDriverInstaller.pkg” and choose “Show Package Contents”:

Show package contents

After digging around the piece that needed adjustments was the postinstall.  There was a system version check in there to launch the “wizard” if the OS was 10.5 or older.  If 10.5 or older it would just install the drivers.  That’s what I wanted on my new shiny OS!

#Pkg installs driver and exits in 10.5 since no Wizard is supported below 10.6
if [ "$MAJOR" = "10" ] && [ "$MINOR" = "5" ]
 logger "Postinstall Script: Checking for previous driver and printers with FSU and performing system cleanup"
 /bin/sh /tmp/efi_wiz_fsu_delete && logger "Postinstall Script: FSU done"
 sudo rm -f /tmp/efi_wiz_fsu_delete
 logger "Postinstall Script: Installing driver only for 10.5" && sudo installer -pkg /tmp/Fiery\ Printer\ Driver\\ Software/OSX/Printer\ Driver/OSX\ installer.pkg -target / && exit 0

Further down if the OS was > 10.5 it would launch the “wizard” which is what I didn’t want.  To fix this install postinstall script all I needed to do was remove the OS Minor version check to make it just install the drivers if the OS Major version is 10.  I can handle deploying the drivers to the appropriate OS so I’m not worried about using their logic.

if [ "$MAJOR" = "10" ] && [ "$MINOR" = "5" ]
if [ "$MAJOR" = "10" ]

Once the postflight file is adjusted we can flatten the package back up again by running:

pkgutil --flatten ~/Desktop/fieryprinterdrivers/ ~/Desktop/Fiery\ Printers\ Driver\ Fixed.pkg

 And now I have a new package “Fiery Printers Driver Fixed.pkg” that’s deployable, won’t launch the wizard, and will install the drivers.

fixed pkg is a pkg

Tagged ,