Thursday 9 November 2023

macOS management with Intune - DMG apps

Back to main macOS page

DMG files are macOS disk image files. They are containers for apps in macOS. You open them, drag the app to your Applications folder, and then eject them, instead of the traditional installation. There are a couple of rules when deploying DMG apps with Intune.

  • The maximum app size is 2GB.
  • The Intune management agent for macOS must be installed. This will be installed before the DMG app is installed if it isn't there already. It's already on my test device as I previously deployed a shell script.

I've download the Signal desktop app in DMG format for my testing. The first thing to do is manually install the app on a test device to figure out what the detection method is.

Launch Terminal on the device. First you need the name of the app. 

cd /applications (changes the directory to the applications folder)

ls (lists the apps)

I can see that signal is called signal.app

Executing the following commands gives me what I need to configure the app in Intune.

defaults read /Applications/Signal.app/Contents/Info CFBundleIdentifier - gives me Org.whispersystems.signal-desktop

defaults read /Applications/Signal.app/Contents/Info CFBundleVersion - gives me 1

Now the DMG app can be configured in Intune. Navigate to Apps > macOS apps and click Add. Select macOS app (DMG) as the App type. Click Select.

Browse to the DMG file and click OK.

Enter the app details and click Next.

Choose a minimum operating system version and click Next.


Now enter the dependences that you worked out earlier and click Next.

Assign to a group and click Next.

Review the configuration and click Create.


The app appears in the Applications folder on the device very quickly.

We can see a successful install in the Intune portal.

Note that my first attempt was not successful. I received the following error:

"The DMG file couldn't be installed because it doesn't contain any app that matches the provided bundle IDs. (0x87D3013D)"

I realised very quickly that the CFBundleIdentifier was case sensitive and didn't like the upper case letter at the beginning. 

Thanks to Paul Winstanley for helping me with testing.

No comments:

Post a Comment