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 type | Packaged as Win32? | Notes |
|---|---|---|
| EXE installer | Yes | Standard Win32 — use setup.exe /silent or custom switches |
| MSI installer | Yes | Can also be uploaded as LOB app, but Win32 gives more control over detection |
| BAT / CMD script | Yes | Wrap the script folder — run the .bat as the install command |
| PowerShell script (.ps1) | Yes (via Win32) or via Intune Scripts | Win32 gives retry logic and detection rules; Scripts are simpler for small tasks |
| MSIX / MSIXBUNDLE | No | Upload as Microsoft Store app or LOB — not wrapped with IntuneWinAppUtil |
| Store app | No | Added via Microsoft Store integration in Intune (WinGet source) |
2. Win32 App Deployment Flow
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.
4. Creating the Win32 App in Intune
Install and Uninstall Commands
| Installer type | Typical install command | Typical uninstall command |
|---|---|---|
| EXE | setup.exe /silent | setup.exe /uninstall /silent |
| MSI | msiexec /i setup.msi /qn | msiexec /x {ProductCode} /qn |
| CMD script | install.cmd /silent | uninstall.cmd /silent |
| PowerShell | powershell.exe -ExecutionPolicy Bypass -File install.ps1 | powershell.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 type | What it checks | Example |
|---|---|---|
| File | File or folder exists, or file version meets a minimum | C:\Program Files\MyCorp\App\app.exe existsapp.exe version ≥ 1.0.0.0 |
| Registry | Registry key or value exists, or value matches | HKLM\SOFTWARE\MyCorp\App key existsValue Version = 1.0 |
| MSI | Product code present in the MSI product database | Product code: {12345678-1234-1234-1234-1234567890AB} |
| Script | PowerShell script exits with 0 (detected) or non-zero (not detected) | Custom detection for complex scenarios |
6. App Assignment Types
| Assignment type | Behaviour | Use case |
|---|---|---|
| Required | App installs automatically on assigned devices/users — user cannot decline | Corporate-required apps (security tools, VPN, company portal) |
| Available for enrolled devices | App appears in Company Portal — user chooses to install | Optional productivity apps |
| Uninstall | App is forcibly removed from assigned devices | Removing apps from leavers or deprecated software |
| Available without enrollment | App available in Company Portal for unenrolled (BYOD) devices via MAM | Conditional access + MAM-WE scenarios |
7. The Installation Process on the Device
8. Monitoring and Reporting
9. Common Error Codes
| Error code | Meaning | Action |
|---|---|---|
0x87D00213 | Installation failed — installer returned a non-zero exit code | Check install command syntax; run installer manually on the device |
0x87D00607 | Download failed — app content could not be retrieved from Azure CDN | Check device internet access; check IME connectivity |
0x87D001F7 | Not enough disk space to extract and install the package | Free disk space (IME requires ~2× the package size temporarily) |
0x87D00324 | Dependency not met — required app not installed first | Add the dependency in the app's Dependencies tab in Intune |
0x87D00215 | App not applicable — requirements rule filtered out this device | Check CPU architecture, OS version, or disk space requirements |
0xC7D14FB5 | Detection rule returned failure after apparent successful install | Review detection rule — it does not match what the installer actually wrote |
10. Best Practices
- Always configure both install and uninstall commands — Intune needs the uninstall command for app removal
- Use a registry key detection rule for EXE-based apps where possible — file version detection is fragile
- Test on pilot devices first using an Available assignment before switching to Required
- Use a meaningful app name and version number — "Setup.exe" as the app name makes the Intune portal unmanageable at scale
- Set Return codes correctly — 0=success, 1707=success, 3010=soft reboot required, 1641=hard reboot required
- For apps with dependencies, use the Dependencies tab — Intune will install dependencies automatically in the correct order
- Keep apps updated by adding a new version — do not overwrite the existing Win32 app entry; create a new one and use supersedence
[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
- Win32 app management in Microsoft Intune
- Prepare a Win32 app for upload to Intune
- Add a Win32 app to Microsoft Intune
- Troubleshoot Win32 app installations in Intune
- Win32 apps in S mode
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.