Managing apps and software deployment through Microsoft Intune
For faster and more scalable app creation in Intune, focus on standardizing how Win32 apps are packaged and using Intune features that reduce per‑app manual work.
- Prefer MSI/MSIX or cataloged apps where possible
- MSIX and MSI packages carry standardized install/uninstall and detection metadata, so Intune does not require manual silent switches or complex detection rules.
- For MSIX:
- When adding a Windows line-of-business app in Intune, install parameters are standardized and do not need to be configured manually. App information (name, description, publisher) is auto-populated.
- MSIX can be deployed via Intune as a line-of-business app. See MSIX App Distribution.
- For MSI:
- When an MSI is wrapped as a Win32 app, the install/uninstall commands are predictable (
msiexec /i/msiexec /x) and detection can be based on the MSI product code.
- When an MSI is wrapped as a Win32 app, the install/uninstall commands are predictable (
- Use Enterprise App Management where available
- Enterprise App Management (Intune Suite add-on) provides an Enterprise App Catalog of prepared Win32 apps hosted by Microsoft.
- These apps are already prepared as Win32 apps (silent install commands, detection, etc.), significantly reducing manual work.
- This is particularly useful for common runtimes like .NET and Visual C++ Redistributables when they are available in the catalog.
- See: Enterprise Application Management section in the Intune app configuration guidance.
- Standardize Win32 packaging and validation workflow
For EXE-based apps that must be deployed as Win32 (
.intunewin):
a) Always validate silently on a test VM first
- Install the EXE manually on a test device before packaging, as recommended:
- Confirm the app supports silent installation.
- Confirm the correct install command (e.g., vendor-documented
/quiet,/silent, etc.). - Identify the installation folder and any registry keys or files that can be used for detection.
- This one-time validation per product/version avoids repeated troubleshooting after deployment.
b) Use the Win32 Content Prep Tool consistently
- Convert EXE/MSI to
.intunewinusing the Microsoft Win32 Content Prep Tool. - Then in Intune:
- Define Install command and Uninstall command once per app.
- Be careful with commands, as harmful commands can be passed via these fields.
- If PowerShell is required, and 64-bit execution is needed, use:
-
%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\powershell.exe
-
c) Use robust detection rules
- Win32 apps support detection rules so the app installs only when not already present.
- Detection can be based on:
- File existence/version in the install directory.
- Registry keys/values created by the installer.
- MSI product code (for MSI-based packages).
- For EXE-only installers, once a reliable file or registry path is identified on the test VM, reuse that pattern for all devices.
- Leverage dependencies for runtimes (but package once per version)
- Win32 app dependencies allow defining install order and prerequisites.
- For frameworks like .NET Core, .NET Desktop Runtime, and Visual C++ Redistributables:
- Create one Win32 app per version (e.g., .NET 6 Desktop Runtime, .NET 7, VC++ 2015–2022 x64, etc.).
- Use these as dependency apps for line-of-business applications that require them.
- Intune will:
- Check dependencies first.
- Install dependent apps in the correct sequence.
- Note: Only apps created as Win32 (
.intunewin) can be used as dependencies, so runtimes must be packaged this way.
- Use detection and applicability to avoid redundant installs
- Detection rules ensure an app is not reinstalled if already present.
- Applicability rules (requirements) can be used to:
- Target specific OS versions, architectures, or other criteria.
- Optionally run a PowerShell script requirement check uploaded to Intune.
- This is useful when multiple runtime versions are required but should only install when needed.
- Understand the Win32 deployment flow to troubleshoot faster
- The Intune Management Extension (IME) processes Win32 apps in a defined sequence:
- Checks dependencies.
- Evaluates detection rules.
- Evaluates applicability/requirements (including optional PowerShell checks).
- Downloads content, verifies hash, decrypts, unzips, then executes the installer.
- Knowing this flow helps quickly identify whether an issue is with detection, dependencies, or the install command.
- Consider app type alternatives where possible
- For some apps, using Microsoft Store app (new) or web link can be faster than Win32 packaging:
- Microsoft Store app (new):
- Create via Intune: Apps > All apps > Create > Microsoft Store app (new).
- Search and select the app from the Store.
- Most admins deploy in system context for shared/education devices.
- Web apps:
- Create via Windows web link for SaaS or web-based tools.
- Microsoft Store app (new):
- For large portfolios, plan a phased standardization
- Start with:
- Common runtimes (all VC++ versions, .NET, ASP.NET Core runtimes) as reusable Win32 packages with strong detection.
- Core line-of-business apps.
- Then:
- Move remaining apps to MSI/MSIX where possible.
- Use Enterprise App Management for catalog apps to avoid manual packaging.
This approach reduces per-app manual work to a one-time effort per product/version, and then reuses those definitions via dependencies and detection rules.
References:
- Configure applications with Microsoft Intune (windows)
- Support Tip - Understanding the flow behind deployment, delivery, and processing of a Win32 application through Intune
- Add, Assign, and Monitor a Win32 App in Microsoft Intune
- MSIX App Distribution
- Applications deployment considerations
- Package a desktop app using third-party installers