The first few Win32 apps with a supersedence or dependency relationship behave. Then the catalog grows. A shared runtime becomes a dependency of a dozen apps, every version of a line-of-business app supersedes the last, and one day a new relationship won’t save or a parent app reports a conflict instead of installing.
This article is about the graph itself, not one stuck device. If a single app is stuck behind a missing dependency, start with Win32 dependency not installing. If a new app is blocked because the old one is still detected, use Win32 supersedence conflict. Come back here when the problem looks structural: limits, mixed relationships, or permissions.
I haven’t reproduced any of this on a live tenant. Every limit and behavior below comes from Microsoft Learn, linked inline, and anything Learn doesn’t state is marked.
Quick Fix checklist
- Count the dependency graph for the parent app: the app itself, its dependencies, their dependencies, and any other graph that shares an app with it. Learn’s limit is 100.
- Count the supersedence graph: the superseding app, every superseded app and every app related to them. Learn’s limit is 10 nodes in one place and 11 in another (see below).
- List every app that has both a dependency and a supersedence relationship, and compare them with the conflict examples below.
- If you can’t add or edit a relationship, check that your role has Relate under Mobile apps.
- Confirm targeting. Superseding apps need explicit targeting. Dependencies don’t.
- Read
AppWorkload.logandAppActionProcessor.logon one affected device after a sync.
The documented limits
| What | Limit | Source |
|---|---|---|
| Dependency graph size | 100 apps, counting the parent app and nested dependencies | Add Win32 apps, Step 5 |
| Supersedence graph | ”maximum of 10 nodes” in the Supersedence step and the create-relationship steps; “maximum of 11 nodes in a single supersedence graph” in the limitations section | Add Win32 app supersedence |
| Superseding apps for auto-update | A Win32 app can have a maximum of 10 superseding apps | same page, auto-update limitations |
Dependency graphs add up across apps
The Win32 page gives three examples. An app with 100 dependencies has a graph of 101. An app with 3 dependencies, one of which has 2 of its own, has a graph of 6. The third matters at scale: if app X sits somewhere in the chain of graph A (23 apps), graph B (62 apps) and graph C (20 apps), Learn says the total is 103, with X counted once, “which surpasses the 100 limit restriction.”
So a popular shared dependency, like a runtime or a licensing agent, can push unrelated apps over the limit together. The page doesn’t say which operation fails when the sum passes 100, and it doesn’t give an error message, so I can’t tell you what text to look for.
Also from Learn: you can only add Win32 app dependencies after the app is added and uploaded, a dependency must itself be a Win32 app (not an MSI LOB or Store app), and an app can’t be deleted while it’s in a dependency relationship, parent or child.
The 10 versus 11 node numbers
Learn gives both numbers for supersedence and doesn’t reconcile them. The create steps say “a maximum of 10 updated or replaced apps, including references to other apps,” and the limitations section says 11 nodes, including “the superseding app, the superseded apps, and all subsequent related apps.” My reading is 10 superseded apps plus the superseding app. That’s my inference, not Microsoft’s wording. Plan for 10 total superseded apps in a chain and you’re safe under either reading.
For long-lived apps, the practical answer is to retire old versions from the graph, not to keep adding. Supersedence handles a chain: Learn says all apps in a chain are superseded by the superseding app at the end, so you don’t need a link from every old version to the newest one.
When dependency and supersedence meet
Learn says both relationship types can exist in the same app subgraph, and “Enforcement prefers supersedence over dependency, but if there’s a conflict state, Intune will report it.” It gives these examples:
- A depends on B, C supersedes B: A reports a conflict state.
- A depends on B, C replaces A: C installs and A gets replaced; B gets left.
- A depends on B and C, and B supersedes C: supersedence won’t go through.
Learn also says supersedence “doesn’t currently allow you to interchange the Win32 app with an app dependency.” This is the trap in a growing catalog. Someone supersedes a runtime version that another app still lists as a dependency, and the parent app now reports a conflict. Before you supersede any app, check what lists it as a dependency.
Targeting differs between the two
From the supersedence page: superseding apps don’t get automatic targeting, and “Superseding apps that aren’t targeted are ignored by the agent.” If the superseding app is targeted to a device that has the superseded app, supersedence happens whether or not the superseded app is targeted. Dependencies are the opposite. The Win32 page says you don’t have to assign dependent apps, because Intune targets and installs them from the relationships, and with Automatically install set to Yes (the default) it installs them even when they aren’t targeted.
Install status only shows in the admin center for targeted apps in both cases. A dependency that installed silently on a device may have no status row of its own.
What the retry and evaluation rules mean at scale
- Evaluation order among dependencies isn’t defined: Learn says “evaluation and installation of dependencies doesn’t follow a specific order at a dependency level,” though each sub-dependency is evaluated before its parent.
- Each dependency follows Win32 retry logic: three attempts, five minutes apart, plus the 24-hour global re-evaluation schedule.
- Dependencies don’t apply to uninstalls. A dependent app also loses its Company Portal uninstall button.
- With Automatically install set to No and the dependency absent, the parent isn’t attempted and reporting flags the dependency as
failedwith a reason. - Uninstall previous version: when set to Yes for a replacement, the superseded app is uninstalled and the superseding app installs only after detection stops finding the old app. If the old app’s detection rule keeps matching, Learn says the agent won’t install the new one.
In a long chain, every app adds another detection rule that has to be right.
Permissions: the Relate right
If admins can create apps but not relationships, check the role. Learn says that starting with the 2202 service release you need the Relate permission, under the Mobile apps category, to add supersedence and dependency apps when creating or editing a Win32 app. Learn lists the Application Manager and School administrator built-in roles as having it. For a custom role, add the permission yourself.
Read the logs for one device
Learn lists the agent logs in C:\ProgramData\Microsoft\IntuneManagementExtension\Logs and what each holds:
| Log | Per Learn |
|---|---|
AppWorkload.log | App check-ins, installs, applicability and detection |
AppActionProcessor.log | Detection and applicability checks |
IntuneManagementExtension.log | Agent check-in, policy request, processing and reporting |
The Win32 troubleshooting page also describes Collect logs in the app’s Installation details pane. Use it when you can’t reach the device.
For a graph problem, work out which app in the graph the log is talking about. Search by app ID from the admin center first, then walk the graph in the order Intune evaluates it: sub-dependencies, then the parent, or the superseded app’s uninstall, then the superseding app’s install. Reading AppWorkload.log and the IME logs covers search patterns. Learn doesn’t document specific log lines for hitting a graph limit or a conflict state, so I’m not giving any.
What not to waste time on
- Rebuilding the installer when the portal says conflict. The conflict is between relationships, not in the package.
- Assigning dependency apps to “make them install.” Learn says they don’t need assignment.
- Chaining every old version to the newest one. A chain already supersedes everything in it.
- Waiting on the 24-hour re-evaluation to see a fix. Sync the device and read the logs.
Prevention
Keep a one-page map of every dependency and supersedence relationship in your Win32 catalog, with node counts per graph. Retire old versions out of supersedence chains and keep shared dependencies few. Review the map before adding any relationship that touches an app other graphs share. After you restructure, test on a clean device before you widen assignment.
Get the Deployment Doctor
Kit 1 founding presale is open: $39 (regular $49). The Autopilot + Device Prep Deployment Doctor checks your tenant, read-only, for the config that breaks ESP and Device Preparation. You pay now and get the files by Tuesday, December 1, 2026, sooner if they’re ready. Full refund any time before delivery, then 14 days after delivery. The founding price runs until Friday, December 4, 11:59 PM MT.
Want to look first? The free, read-only beta scripts are on GitHub: autopilot-deployment-doctor-beta. Its README says they haven’t been run against a live tenant.
FAQ
What is the Intune Win32 dependency limit?
Microsoft Learn documents a maximum of 100 dependencies, counting dependencies of dependencies and the app itself. Apps shared between graphs are summed.
How many apps can be in a Win32 supersedence chain?
Learn says a maximum of 10 nodes in one place and 11 nodes in a single supersedence graph in another. Plan for 10 superseded apps.
What happens when an app depends on one that another app supersedes?
Learn says enforcement prefers supersedence, and if there’s a conflict, Intune reports a conflict state. Its example: A depends on B, C supersedes B, so A reports a conflict.
Sources
All retrieved 2026-10-27.
- Add and assign Win32 apps to Microsoft Intune, Microsoft Learn: dependency graph limit and examples, evaluation order, retry, Automatically install, supersedence step.
- Add Win32 app supersedence, Microsoft Learn: node limits, interactions, targeting, chains, Relate permission, auto-update limits.
- Troubleshoot Win32 apps in Microsoft Intune, Microsoft Learn: log folder, log file descriptions, Collect logs.