> For the complete documentation index, see [llms.txt](https://docs.easy2patch.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.easy2patch.com/managing-easy2patch/easy2patch-4.0/macos-apps/deployment-models.md).

# Deployment Models

There is one deployment model for macOS: **Intune**. This page describes what that model produces, what it carries, and where it deliberately stops.

### One target, two application types

The package format decides the Intune application type. Nothing else does, and the choice is not offered as a setting — Easy2Patch reads the file and uses the matching type.

| Package | Intune application type | Notes                                                                                            |
| ------- | ----------------------- | ------------------------------------------------------------------------------------------------ |
| `.dmg`  | `macOSDmgApp`           | Disk image containing one or more `.app` bundles.                                                |
| `.pkg`  | `macOSPkgApp`           | Installer package. Unmanaged PKG apps additionally support pre-install and post-install scripts. |

{% hint style="info" %}
The uploaded content is the **DMG or PKG file itself**, encrypted before upload. macOS applications have no `.intunewin` wrapper, no packaging tool step and no content folder — the installer that sits in the Easy2Patch catalog is byte for byte the installer that reaches Intune.
{% endhint %}

### What travels inside the application object

| Field                              | Source                                                | Purpose                                                                                                          |
| ---------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Display name                       | Product title, plus the mode suffix                   | The name the application carries in Intune.                                                                      |
| Publisher / developer              | Package publisher, falling back to the product vendor | Shown in Company Portal.                                                                                         |
| File name                          | The DMG / PKG file name                               | Identifies the uploaded content.                                                                                 |
| Primary bundle ID                  | The package                                           | The main application bundle Intune looks for.                                                                    |
| Primary bundle version             | The package                                           | The version Intune compares against, when version detection is in use.                                           |
| Included apps                      | The package                                           | Every `.app` bundle the package installs, as bundle ID plus bundle version. This list **is** the detection rule. |
| Minimum supported operating system | Product setting                                       | Below this macOS version the application is not applicable to the device.                                        |
| Ignore version detection           | The send mode                                         | See Application and Update Modes.                                                                                |
| Icon                               | Product icon                                          | Shown in Company Portal.                                                                                         |
| Information / privacy URL          | Product support and additional URL                    | Links shown to the end user.                                                                                     |
| Pre-install / post-install script  | Product setting, **PKG only**                         | See below.                                                                                                       |

### Detection is not a script

On Windows, Easy2Patch writes a detection script that runs on the device and reports whether the product is installed. On macOS there is no such script and no place to put one. Detection is performed by Intune from the **included apps** list: the bundle IDs the package installs, and — depending on the mode — their bundle versions.

This is why the included apps list matters more on macOS than any other field. If it is empty or wrong, Intune has no way to tell an installed Mac from an uninstalled one.

### Pre-install and post-install scripts (PKG only)

A `macOSPkgApp` may carry a pre-install script and a post-install script. A `macOSDmgApp` may not — Intune rejects the request if those fields are sent with a DMG, so the corresponding editor fields are locked while the product's file type is DMG. The text you already typed is kept; it becomes available again if the product is switched to PKG.

{% hint style="warning" %}
**The two scripts are not equally reliable.** If the **pre-install** script returns a non-zero exit code, the installation does not take place at all. If the **post-install** script fails, the failure **is not reported** — the application still appears as installed. Put anything you need to trust in the pre-install script.
{% endhint %}

Scripts require a recent Intune management agent on the device; see Package Requirements.

### Where the model stops

The following exist for Windows products and have no macOS counterpart. They are not hidden, disabled or defaulted — they are absent from the macOS product editor entirely:

* **Silent install / uninstall command line.** The management agent installs the package; the administrator does not choose a command line.
* **Return codes.** There is no command line, therefore no exit code to map.
* **Detection method and detection script.** Replaced by the included apps list.
* **Requirement rules.** Applicability on macOS is expressed by the minimum supported operating system, nothing else.
* **Content folder and distribution point.** Content goes straight to Intune.
* **Task sequence support.** There is no OS-deployment task sequence on macOS.

### Related pages

* [Application and Update Modes](/managing-easy2patch/easy2patch-4.0/macos-apps/application-and-update-modes.md)
* [Auto Assignment](/managing-easy2patch/easy2patch-4.0/macos-apps/auto-assignment.md)
* [Package Requirements](/managing-easy2patch/easy2patch-4.0/macos-apps/package-requirements.md)
