HomeNewsletterCommunityToolsArchiveBlogToday's NewsAboutQuick Links Subscribe free
← Back to Blog
Intune Win32IntuneApp DeploymentIntuneWinAppUtilDetection RulesIMEMD-102

Intune Win32 App Deployment: Complete Guide from Packaging to Monitoring

IA
Imran Awan
1 July 2026

Win32 app deployment is the most capable and most commonly used application deployment method in Microsoft Intune. It handles EXE, MSI, MSP, BAT, CMD, and PowerShell-based installers — anything that does not fit the Store app model. Mastering it means understanding the packaging tool, detection rules, the installation pipeline, and the IME logs that tell you exactly what went wrong. This guide covers the full lifecycle: from wrapping an app with IntuneWinAppUtil all the way to monitoring installation success across your device fleet.

1. What is a Win32 App?

A Win32 app is any traditional Windows application packaged for Intune deployment using the Microsoft Win32 Content Prep Tool (IntuneWinAppUtil). The tool wraps the application files into a single .intunewin file — an encrypted package that Intune can distribute and the IME can unpack and install on managed devices.

App typePackaged as Win32?Notes
EXE installerYesStandard Win32 — use setup.exe /silent or custom switches
MSI installerYesCan also be uploaded as LOB app, but Win32 gives more control over detection
BAT / CMD scriptYesWrap the script folder — run the .bat as the install command
PowerShell script (.ps1)Yes (via Win32) or via Intune ScriptsWin32 gives retry logic and detection rules; Scripts are simpler for small tasks
MSIX / MSIXBUNDLENoUpload as Microsoft Store app or LOB — not wrapped with IntuneWinAppUtil
Store appNoAdded via Microsoft Store integration in Intune (WinGet source)

2. Win32 App Deployment Flow

1
Prepare app files
Gather EXE/MSI + dependencies into one folder
2
Package with IntuneWinAppUtil
Creates encrypted .intunewin file
3
Upload to Intune
Upload .intunewin via Intune Admin Center
4
Configure app settings
Install cmd, uninstall cmd, detection rule, requirements
5
Assign to users/devices
Required, Available, or Uninstall assignment
6
IME downloads & installs
Intune Management Extension runs the install command as SYSTEM
7
Detection rule runs
IME verifies installation succeeded
8
Status reports to Intune
Success/Failure visible in Intune portal within minutes

3. Packaging with IntuneWinAppUtil

The Microsoft Win32 Content Prep Tool (IntuneWinAppUtil.exe) wraps your app into the .intunewin format. It must be run from a command line and takes three parameters: the source folder, the setup file, and the output folder.

Command Prompt — Package an app with IntuneWinAppUtil
IntuneWinAppUtil.exe -c "C:\AppSource\MyCorporateApp" -s "setup.exe" -o "C:\IntuneOutput"

REM   -c  source folder containing all app files
REM   -s  the setup file (entry point — EXE or MSI)
REM   -o  output folder for the .intunewin file
INFO Reading setup file C:\AppSource\MyCorporateApp\setup.exe INFO Generating file ... SUCCESS Packaging completed. SUCCESS Generated file: C:\IntuneOutput\setup.intunewin
Tip: Always put all required app dependencies (redistributables, config files, licence files) in the same source folder before running IntuneWinAppUtil. The tool packages everything in that folder — dependencies that are absent at packaging time will be absent at install time.

4. Creating the Win32 App in Intune

Navigation path
Apps All Apps + Add Windows app (Win32) Upload .intunewin file

Install and Uninstall Commands

Installer typeTypical install commandTypical uninstall command
EXEsetup.exe /silentsetup.exe /uninstall /silent
MSImsiexec /i setup.msi /qnmsiexec /x {ProductCode} /qn
CMD scriptinstall.cmd /silentuninstall.cmd /silent
PowerShellpowershell.exe -ExecutionPolicy Bypass -File install.ps1powershell.exe -ExecutionPolicy Bypass -File uninstall.ps1

Install Behavior

System context runs as SYSTEM — required for most enterprise apps (writes to Program Files, modifies HKLM registry). User context runs as the logged-on user — for per-user apps that write to HKCU or AppData. Always use System unless the app explicitly requires user context.

5. Detection Rules

Detection rules tell Intune whether the app is already installed. If the detection rule evaluates to true, Intune considers the app installed and will not reinstall it. This is the most important setting to get right — a bad detection rule causes constant reinstallation or silent failure.

Rule typeWhat it checksExample
FileFile or folder exists, or file version meets a minimumC:\Program Files\MyCorp\App\app.exe exists
app.exe version ≥ 1.0.0.0
RegistryRegistry key or value exists, or value matchesHKLM\SOFTWARE\MyCorp\App key exists
Value Version = 1.0
MSIProduct code present in the MSI product databaseProduct code: {12345678-1234-1234-1234-1234567890AB}
ScriptPowerShell script exits with 0 (detected) or non-zero (not detected)Custom detection for complex scenarios
Windows PowerShell — Example custom detection script
# Detection script — exits 0 if installed, non-zero if not
$regPath = "HKLM:\SOFTWARE\MyCorp\App"
$regValue = "Version"
$expected = "2.1.0"

if (Test-Path $regPath) {
  $actual = (Get-ItemProperty $regPath).$regValue
  if ($actual -eq $expected) {
    Write-Host "Detected"
    exit 0  # 0 = detected
  }
}
exit 1  # non-zero = not detected, Intune will install

6. App Assignment Types

Assignment typeBehaviourUse case
RequiredApp installs automatically on assigned devices/users — user cannot declineCorporate-required apps (security tools, VPN, company portal)
Available for enrolled devicesApp appears in Company Portal — user chooses to installOptional productivity apps
UninstallApp is forcibly removed from assigned devicesRemoving apps from leavers or deprecated software
Available without enrollmentApp available in Company Portal for unenrolled (BYOD) devices via MAMConditional access + MAM-WE scenarios

7. The Installation Process on the Device

IME Installation Pipeline
1. IME (SYSTEM) checks device assignment against pending app list
2. IME downloads the encrypted .intunewin package from Azure CDN
3. Package is decrypted and expanded to C:\Windows\IMECache\{AppID}
4. Install command runs as SYSTEM in the expanded folder
5. Detection rule is evaluated — exits 0 = success, non-zero = failure
6. Result (Success / Failure / NotApplicable) reported to Intune service
7. IMECache expanded folder is cleaned up

8. Monitoring and Reporting

Intune Admin Center → Apps → Monitor → Select the app
✓ Installation status (Success / Failed / In Progress)
✓ Device install status per device
✓ User install status
✓ Error codes and failure reasons
Windows PowerShell — Tail the IME log for real-time install monitoring
# On the target device — watch the IME log while the install runs
$log = Get-ChildItem "C:\ProgramData\Microsoft\IntuneManagementExtension\Logs" |
  Where {$_.Name -like "IntuneManagementExtension*.log"} | Sort LastWriteTime -Desc | Select -First 1

Get-Content -Path $log.FullName -Tail 40 -Wait   # -Wait streams new lines live

9. Common Error Codes

Error codeMeaningAction
0x87D00213Installation failed — installer returned a non-zero exit codeCheck install command syntax; run installer manually on the device
0x87D00607Download failed — app content could not be retrieved from Azure CDNCheck device internet access; check IME connectivity
0x87D001F7Not enough disk space to extract and install the packageFree disk space (IME requires ~2× the package size temporarily)
0x87D00324Dependency not met — required app not installed firstAdd the dependency in the app's Dependencies tab in Intune
0x87D00215App not applicable — requirements rule filtered out this deviceCheck CPU architecture, OS version, or disk space requirements
0xC7D14FB5Detection rule returned failure after apparent successful installReview detection rule — it does not match what the installer actually wrote

10. Best Practices

IME Log tip: Search the IME log for the app name or the package GUID to find all activity for a specific app. Search for [Win32App] to filter to Win32-specific entries. The most useful lines to look for: ExitCode (installer return code) and Detection result (whether the detection rule passed).

Official References

This guide was inspired by Anuradha Kumari's LinkedIn post on Microsoft Intune Fundamentals – Win32 App Deployment Overview — excellent structured learning content for Intune and Azure professionals. Follow Anuradha on LinkedIn for more handwritten study notes at CloudEngineerHub.Com.

Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Intune
Microsoft Intune: Win32 vs. Store App Deployment — Complete Guide
Win32 or Store? Complete breakdown of both Intune app deployment methods — packaging, IME…
Intune
Microsoft Store Apps in Intune — Deployment & Troubleshooting,…
Store for Business is gone — modern Intune Store apps are winget-backed. The full…
Intune
Intune Certificate Profiles: SCEP, PKCS, NDES and the Full…
Certificate-based authentication in Intune — the full architecture from Root CA through…