60%
Of Win32 Pending Install cases caused by IME not running, policy sync failures, or the device being outside the assignment scope
3-5 min
Typical time for IME to pick up and begin installing a Win32 app after a forced policy sync
35%
Of persistent Pending Install cases where the app installed successfully but the detection rule returned false, leaving the portal in a stale state
24h
Intune portal polling delay before a stale ContentVersion mismatch surfaces as a visible deployment error rather than Pending Install

Reach 50,000+ security professionals

Sponsor a newsletter slot and put your brand in front of CISOs, engineers, and IT decision-makers.

Summarize with:

A Win32 app showing Pending Install in the Intune portal means one of three things: the device has not received the assignment yet, the Intune Management Extension (IME) has not processed it, or the app installed but the detection rule did not confirm it. The portal status does not distinguish between these cases by itself, so you need the IME log on the device to find the actual failure point.

This guide covers the full diagnostic path: verifying the device state, reading the IME log, testing detection rules, and working through each fix in order of likelihood. See the Microsoft Defender for Endpoint Deployment and Hardening Guide if you are also troubleshooting Defender policy delivery through Intune, since the same IME pipeline handles both.

Why Win32 Apps Get Stuck in Pending Install

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Diagnosing the Root Cause

Start on the device itself, not the portal. The portal shows a last-known state from the device's most recent check-in and can lag by hours.

Step 1: Verify IME is running

Get-Service -Name IntuneManagementExtension | Select-Object Name, Status, StartType

Expected output: Status: Running. If stopped or disabled, that is your primary cause. Jump to Fixes.

Step 2: Check device join state

dsregcmd /status

Look for AzureAdJoined: YES and MDMEnrolled: YES. If either is NO, the device may not be receiving Intune policies. For hybrid-joined devices, also check DomainJoined: YES. See the Intune Device Enrollment Failure Troubleshooting Guide if enrollment itself is broken.

Step 3: Read the IME log

The IME log at C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log is the authoritative source of truth for Win32 app processing. Open it in CMTrace (from the MECM toolkit) or any text editor and search for the app name or its Intune app ID.

Key log entries to find:

  • [Win32App] Waiting for content download -- IME found the assignment but content download is stalled
  • [Win32App] Detection criteria returned: false -- the detection rule did not match after install
  • [Win32App] Skipping app install due to dependency -- a dependency app is not installed
  • [Win32App] Successfully installed with a later [Win32App] Detection result: false -- install succeeded but detection is broken
  • Error downloading content with a hash value -- ContentVersion mismatch or incomplete upload

Step 4: Test the detection rule manually

If the log shows detection returning false, test the detection rule directly on the device:

  • File detection: check the exact path and version in Explorer or PowerShell
  • Registry detection: use reg query or Get-ItemProperty to check the exact key/value
  • MSI product code: run Get-WmiObject -Class Win32_Product | Where-Object {$_.IdentifyingNumber -eq "{PRODUCT-CODE}"} or use the Apps & Features list
  • PowerShell detection script: run the script manually in an elevated PowerShell session and check the exit code and output

Step 5: Check the Intune portal troubleshooting blade

In the Intune portal, go to Troubleshoot + support > Troubleshoot. Select the user, then under Assignments check the app. The portal will show if the device is in scope, what the last reported status is, and when it last synced. Cross-reference with the IME log timestamp.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Fixes by Root Cause

IME service stopped or crashed

# Restart IME service (run as administrator)
Restart-Service -Name IntuneManagementExtension -Force

# Verify it started
Get-Service -Name IntuneManagementExtension

If the service crashes immediately after restart, check Event Viewer under Application for IME-related errors. A corrupted IME installation may require re-enrollment or re-installing the agent via a support escalation.

Force a policy sync

After any fix, trigger a sync to speed up reprocessing:

# Trigger Intune sync via scheduled task (runs as SYSTEM)
Get-ScheduledTask | Where-Object {$_.TaskName -eq "PushLaunch"} | Start-ScheduledTask

Alternatively, open the Company Portal app on the device, go to Settings, and click Sync. Or in the Intune portal: Devices > [Device] > Sync.

Device not in assignment group

  1. In the Intune portal, go to Apps > [App] > Properties > Assignments
  2. Confirm the correct group is listed under Required or Available
  3. Navigate to Groups > [Group] > Members and verify the device or user is a member
  4. For dynamic groups, check the dynamic membership rule is evaluating correctly -- use Dynamic membership rules > Validate rules to test a specific device or user

Detection rule mismatch

If the app installed but detection fails:

  1. Edit the app in the Intune portal (Apps > [App] > Properties > Detection rules)
  2. Correct the file path, registry key, version value, or MSI product code
  3. Save and wait for the next policy sync, or force a sync after saving

For PowerShell detection scripts, test locally to confirm the script exits with code 0 and writes the expected output to stdout. A script that throws an exception or exits with a non-zero code returns false regardless of content.

ContentVersion mismatch

If the IME log shows hash failures or download errors:

  1. Delete the existing Win32 app from the Intune portal
  2. Re-prepare the .intunewin package with the latest version of the Win32 Content Prep Tool
  3. Re-upload as a new app and re-assign
  4. Do not replace the content on an existing app entry if the original upload was corrupt -- create a new app entry

Dependency or supersedence chain broken

  1. In the Intune portal, go to Apps > [App] > Properties > Dependencies
  2. Verify each dependency app is itself in an Installed state on the device
  3. Install dependency apps manually or investigate why they are also stuck
  4. For supersedence, verify the older version's detection rule is not still returning true if you expect the new version to replace it

Validating the Fix

After applying a fix and triggering a sync, allow 5-10 minutes and then verify:

In the Intune portal:

  1. Go to Apps > [App] > Device install status (or User install status)
  2. Find the target device and confirm the status changes from Pending Install to Installed
  3. If the status is Failed, click the device name to see the error code

On the device: Check the IME log for a fresh entry showing successful install and detection:

[Win32App] Successfully installed app: [AppName]
[Win32App] Detection result: true

Confirm the app is present:

# For MSI-based apps
Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like "*AppName*"}

# For file-based detection
Test-Path "C:Program FilesYourAppyourapp.exe"

# Check installed programs via registry (faster than Win32_Product)
Get-ItemProperty HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall* |
  Where-Object {$_.DisplayName -like "*AppName*"} |
  Select-Object DisplayName, DisplayVersion

Persistent Failure Cases

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Escalation Criteria

Open a Microsoft Intune support ticket when:

  • The IME log shows repeated ContentVersion mismatch errors after re-uploading the app package cleanly
  • The IME service crashes immediately after restart with no clear error in Event Viewer
  • The Intune troubleshooting portal shows the device as Not targeted even though group membership is confirmed correct and the dynamic rule validates successfully
  • Multiple devices across different network locations all show Pending Install for the same app with no detection or download failures in the IME log (indicates a backend Intune service issue)
  • The app was successfully deployed before and no changes were made -- this suggests a backend ContentVersion desync in the Intune service

Information to gather before contacting support:

  • Device name, Entra ID object ID, and Intune device ID (from the portal URL when viewing the device)
  • The full IME log from C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\ (last 3-4 log files if they have rolled over)
  • App ID from the Intune portal URL (when viewing the app properties)
  • Screenshot of the Device install status page for the affected device
  • Output of dsregcmd /status from the device

For compliance-related blocks (device shows non-compliant and Conditional Access is preventing Intune sync), see the Microsoft Intune Compliance Policy Troubleshooting Guide first -- a Conditional Access block will prevent policy delivery entirely and show up as Pending Install across all assigned apps simultaneously.

The bottom line

Win32 app Pending Install in Intune traces to one of a small set of causes in the vast majority of cases: IME not running, the device outside the assignment scope, or a detection rule returning false after a successful install. The IME log at C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log tells you exactly which one. Start there, fix the specific cause, force a policy sync, and confirm in the portal. If the app installs successfully but the portal stays in Pending Install, the detection rule needs correction -- the portal status reflects detection, not installation. For enrollment-layer issues blocking policy delivery entirely, see the Intune Device Enrollment Failure Troubleshooting Guide.

Frequently asked questions

Why does my Win32 app show Pending Install in Intune?

Pending Install means Intune has the assignment but the device has not confirmed successful installation. The most common causes are the Intune Management Extension service not running on the device, the device being outside the assignment group, a stale policy sync, or the detection rule returning false after the app installs. Check the IME log at C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\ to find the specific failure point.

How do I check the Intune Management Extension log?

The IME log is at C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log. Open it with CMTrace (from the MECM toolkit) for color-coded parsing, or use any text editor. Search for the app name and look for entries starting with [Win32App]. The log shows whether the app was assigned, downloaded, installed, and whether detection returned true or false.

How do I force Intune to sync and retry the app install?

Run this PowerShell command as administrator: Get-ScheduledTask | Where-Object {$_.TaskName -eq 'PushLaunch'} | Start-ScheduledTask. Alternatively, open the Company Portal app, go to Settings, and click Sync. After syncing, wait 3-5 minutes and check the IME log for new processing activity. You can also trigger a sync from the Intune portal under Devices > [Device] > Sync.

The app installed on the device but the portal still shows Pending Install. What is wrong?

This is a detection rule mismatch. Intune marks an app as Installed only when the detection rule returns true, not when the installer exits successfully. The IME log will show 'Successfully installed' followed by 'Detection result: false'. Check the detection rule in the app properties -- the file path, registry key, version number, or MSI product code may not match what the installer actually wrote. Test the detection condition manually on the device and correct it in the portal.

What is the difference between Pending Install and Not Applicable in Intune?

Pending Install means the device is in scope for the assignment and Intune is waiting for the install to complete or be confirmed. Not Applicable means the device does not meet the assignment criteria -- it is not in the target group, the assignment filter excluded it, or a dependency or requirements rule (OS version, disk space, etc.) is not satisfied. Check the assignment groups and any configured requirements rules if you see Not Applicable for a device you expect to receive the app.

My Win32 app has dependencies. What do I check when the main app stays in Pending Install?

Open the app in the Intune portal and go to Properties > Dependencies. Each listed dependency app must be in an Installed state on the device before the main app will start. Check the Device install status for each dependency app first. If a dependency is also in Pending Install, troubleshoot that app first using the same IME log approach. The IME log for the main app will show 'Skipping app install due to dependency not met' if this is the cause.

Sources & references

  1. Microsoft Learn: Troubleshoot Win32 app issues in Intune
  2. Microsoft Learn: IME log troubleshooting
  3. Microsoft Learn: Win32 app detection rules
Summarize with:

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Follow Decryption Digest

Daily briefings + Google Top Stories in one step.

Enter your email and we'll subscribe you to the daily briefing and add Decryption Digest to your Google Search feed at the same time.

Free. Unsubscribe anytime. Google popup confirms the Top Stories add.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Related Questions: Answer Hub

Daily Briefing

Get briefings like this every morning

Actionable threat intelligence for working practitioners. Free. No spam. Trusted by 50,000+ SOC analysts, CISOs, and security engineers.

Unsubscribe anytime.

Mythos Brief

Anthropic's AI finds zero-days your scanners miss.