Packaging Pitfalls, Part 5: How to Create a Proper .pkg Package for Intune Deployment on macOS

Microsoft Intune can now deploy macOS applications directly from standard .pkg installers without .intunemac wrapping or additional tools.
While this sounds straightforward, in practice it is easy to end up with a package that uploads but never installs, installs but does not run correctly, or works but is not detected by Intune.

From our experience in creating macOS application packages for Intune, we have seen how small, often invisible mistakes during the packaging stage can cause big problems later.
In this article, we will walk you through the exact process we follow to prepare Intune-ready .pkg files, and we will share a checklist of things to watch out for so your deployment works the first time every time.

Step-by-step: How we create an Intune-ready .pkg

For package creation, you should use the Packages utility or Terminal commands pkgbuild and productbuild.
This approach ensures you build the package in the correct format and meet Intune requirements.

  1. Use the correct package type

First, create the package as “Distribution”, not just a Raw package.
You can select this option in Packages utility, or additional steps should be performed:

productbuild --synthesize --package
productbuild --distribution

2. Include an application bundle

  • Next, include an application (*.app folder) inside the package. Otherwise, you will get an error during the upload to Intune.
  • If you do not have a real app, add a “dummy” application with an Info.plist file.
  • Make sure Info.plist includes:
    • CFBundleShortVersionString (mandatory)
    • CFBundleIdentifier (mandatory)
    • CFBundleVersion (recommended)
  • After the installation completes, remove the dummy application using a post-install shell script.
  • Intune uses these values for application detection.

Example of a dummy Info.plist file:

3. Set correct values for application detection

By default, values for application detection are taken from the metadata of the .pkg file. Make sure the fields identifier and version match the data from the Info.plist file to avoid any issues. Incorrectly updating these values can cause detection problems during deployment.

4. Set the install location to /Applications. As a result, you can place your payload files only under the Applications folder and its subfolders. (Microsoft: macOS LOB apps are not deployed)

5. Use the “Additional Resources” tab
The best option is to use the “Additional Resources” tab in the Packages utility to launch vendor .pkg files or store any required data (configuration files, package files, or any other). Resources from this tab will be available during the application installation through the script.

Example of installing a vendor .pkg file via the post-install script:

6. Add a dummy application if needed
If the package does not contain an application or stores it under the user, place your dummy application somewhere in the system. Currently, the preferable path is /Library/Application Support/CompanyName/PackageName, but you can choose the exact location as needed.

7. No need to create an .intunemac file
Please note you no longer need to create an .intunemac file.

Wrapping up

Creating a .pkg for Intune on macOS is not just about producing a working installer. It must meet specific requirements for structure, metadata, install location, and detection logic to work correctly in Intune.
Following the steps above will help you avoid common issues and ensure your package installs smoothly and Intune detects it as intended.

At Apptimized, we prepare macOS packages for Intune with these principles built into our process, ensuring every package is ready for reliable deployment from the very first upload.

More News from Apptimized

Configuring Applications on macOS by using plist files

When working with macOS applications, understanding how to handle plist…

Packaging Pitfalls, Part 3: Jamf Deployments Pass — But Apps Still Fail

Jamf has become the go-to solution for deploying software across…

macOS packaging: why it's more complicated than it looks

As more organizations expand their use of Macs across the…