Skip to main content

Platform compatibility

macOSWindowsLinuxiOS / iPadOSAndroid

How to set it up

1

Upload your configuration file

Upload your configuration file. The file is delivered to devices via MDM in the same way as any other control.
Primo does not validate the contents of custom files. Ensure your configuration is correct before deploying — an invalid or conflicting profile may cause unexpected device behavior.
2

Give the control a descriptive name

Give the control a descriptive name so it is easy to identify later.
3

Save and apply

Save and apply the control to the relevant device group.

Modifying or removing the control

To change the configuration, re-upload the config file with updated settings. Disabling the control stops enforcement but does not remove existing configurations from devices.

How it works

Each platform accepts its native configuration format:
PlatformFormatDescription
macOS.mobileconfig or .jsonApple Configuration Profile (XML-based) or JSON
iOS / iPadOS.mobileconfigApple Configuration Profile (XML-based)
Windows.xmlWindows MDM custom policy (SyncML format)
Android.jsonAndroid Enterprise managed configuration

macOS

macOS configuration profiles (.mobileconfig) are XML files, signed or unsigned, delivered as MDM payloads. macOS also supports .json for certain configuration payloads. To create profiles, the recommended tools are:
  • iMazing Profile Editor — free, purpose-built for creating and editing .mobileconfig files
  • Apple Configurator — available on the Mac App Store
Common use cases include custom certificate payloads, VPN profiles, and per-app VPN configurations.

iOS / iPadOS

iOS and iPadOS use the same .mobileconfig format as macOS.

Windows

Windows custom files use the SyncML format, which maps to Windows MDM CSPs (Configuration Service Providers). This allows you to configure any policy exposed by the Windows MDM stack that is not covered by Primo’s built-in controls.

Android

Android custom files use JSON to deliver managed configurations to Android Enterprise devices. This is typically used to configure enterprise applications that support managed app configuration.

Troubleshooting

The file upload fails
  • Confirm the file matches the expected format for the selected OS.
  • Check that the file is not corrupted or empty.
  • macOS profiles must use valid XML — validate the file with plutil -lint profile.mobileconfig.