This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can trysigning in orchanging directories.
Access to this page requires authorization. You can trychanging directories.
The Enterprise App Catalog is a collection of prepackagedWin32 apps that have been designed and prepared by Microsoft to support Intune. The catalog contains both Microsoft apps and non-Microsoft apps. An Enterprise App Catalog app is a Windows app that you can add via the Enterprise App Catalog in Intune. This app type uses the Win32 platform and has support for customizable capabilities, including PowerShell script installers for enhanced deployment flexibility (introduced in 2025).
Important
The Enterprise App Catalog is a feature of Enterprise App Management (EAM) which is an Intune add-on as part of the Intune suite that's available for trial and purchase. For more information, seeUse Intune Suite add-on capabilities.
When you add an app to Intune, you'll commonly want to use default installation, requirements, and detection settings. For apps within the Enterprise App Catalog, these default settings have been configured and confirmed by Microsoft. You must be careful if you modify the application properties as unexpected or harmful commands could be passed via theInstall command andUninstall command fields. In addition, changing the install commands might cause installation to fail.
Important
Microsoft doesn't assert compliance or authorizations for apps distributed via Intune. Customers are responsible for ensuring that apps meet their requirements.
Once you add an Enterprise App Catalog app to Intune, you can assign that app to end-users or devices.
Note
Enterprise App Catalog apps are supported with Windows Autopilot. Using Windows Autopilot, you can select blocking apps from the Enterprise App Catalog in the Enrollment Status Page (ESP) and the Device Preparation Page (DPP) profiles. This allows you to update apps more easily without needing to update those profiles with the latest versions.
Microsoft has established Service Level Objectives (SLOs) to provide predictable timelines for when app updates become available in the Enterprise App Catalog. Most app updates complete automated validation and are available within 24 hours. Updates requiring manual testing typically complete within seven days. For more information about SLOs and processing timelines, seeEnterprise App Management overview.
The following steps help you add a Windows App Catalog app to Intune:
TheApp information steps allow you to select an app from the Enterprise App Catalog based on name and publisher. Once you select the app, you must choose a specific app package based on package name, language, architecture, and version. When you've completed selecting the app, the app information is displayed. Based on the app that you chose, the values for this step are automatically filled in.
SelectSearch the Enterprise App Catalog from theApp information step.
Find and select the app name, then selectNext.
Select the app package based on name, language, architecture, and version.
ChooseSelect to update theApp information step.App details are populated into appropriate fields.

TheApp information step provides the fields:
On theProgram step, you configure the app installation and removal commands for the app.
Important
Many of the app details are prepopulated and designed to function without change. Changing the install commands or using custom PowerShell scripts might cause the app installation to fail. Unexpected or harmful commands can be passed via theInstall command andUninstall command fields, or through custom PowerShell scripts. Use script overrides judiciously and test thoroughly.
By default, the install and uninstall commands for a catalog app are prepopulated with Microsoft-recommended values. You can now choose to override these with a PowerShell script if needed.
TheProgram step provides the following options:
Install command: Configure how the app is installed on devices.
Installer type: Choose between two options:
For command line installations, leave the Installer type asCommand line to use the default commands provided by Enterprise App Management.
ForPowerShell script installations, selectPowerShell script to upload your own install script (maximum size 50 KB) when you have a specific need to customize installation behavior. The script should execute the necessary installer for the app (you can find the default command for reference) and any custom actions you require. Use this option only if you have a specific need to customize installation behavior.
Important
If a script is used, Intune will run it in place of the standard command – an incorrect script could cause the app installation to fail, so test carefully. Changing the install logic of a Catalog app might affect its ability to install or update properly. Ensure that your script calls the app's installer with the right parameters and handles updates if applicable. Intune will still enforce the app's detection rules to confirm installation success.
Uninstall command: Configure how the app is uninstalled from devices.
Uninstaller type: Choose between two options:
For command line uninstallations, leave the Uninstaller type asCommand line to use the default commands provided by Enterprise App Management.
For PowerShell script uninstallations, selectPowerShell script to upload a removal script (maximum size 50 KB) when you need to customize the uninstallation process. Similarly to install scripts, ensure your uninstall script properly removes the app and any associated components.
Important
Changing the uninstall logic might affect the app's ability to be properly removed. Test uninstall scripts thoroughly to ensure they completely remove the application and its components.
Installation time required (mins): The number of minutes the system waits for the install program to finish. Default value is 60 minutes. If the app takes longer to install than the set installation time, the system will initially report the app installation as failed but won't stop it on the device. Max timeout value is 1440 minutes (one day).
Allow available uninstall: Select 'Yes' to provide the uninstall option for this app for users from the Company Portal. Select 'No' to prevent users from uninstalling the app from the Company Portal.
Install behavior: Enterprise App Management selects the install behavior. This can't be modified and is determined by the installer.
Device restart behavior: Select the device restart behavior after the app has successfully installed, based on the following options:
Specify return codes to indicate post-installation behavior: Add the return codes that are used to specify either app installation retry behavior or post-installation behavior. Return code entries are added by default during app creation. However, you can add more return codes or change existing return codes.
SelectNext to display theRequirements step.
Important
EAM only supports managed Windows devices running 64-bit versions of Windows.
Note
If your intention is to install an application on a 32-bit OS, you need to modify some of the prefilled information.
On theRequirements step, specify the requirements that devices must meet before the app is installed:
TheRequirements step provides the following options:
SelectNext to display theDetection rules step.
TheDetection rules step allows you to configure the rules to detect the presence of the app. Enterprise App Management automatically prefills this information.
TheDetection rules step provides the following options:
Rules format: (Required) Select how the presence of the app will be detected. You can choose to either manually configure the detection rules or use a custom script to detect the presence of the app. You must choose at least one detection rule.
Important
The conditions forall rules must be met to detect the app.
If Intune detects that the app isn't present on the device, Intune will offer the app again within approximately 24 hours. This occurs only for apps targeted with theRequired intent.
You can add up to 25 detection rules.
TheRules format provides the following options:
Manually configure detection rules - You must select one of the following requiredRule types:
MSI: Verify based on an MSI version check. This option can be added only once. When you choose this rule type, you have two settings:
File: Verify based on file or folder detection, date, version, or size.
Path: (Required) Enter the full path of the folder that contains the file or folder to detect. This shouldn't include special characters such as, or".
File or folder: (Required) Enter the file or folder to detect.
Detection method: (Required) Select the type of detection method used to validate the presence of the app. You can choose options, such asFile or folder exists,Date created,String (version),Size in MB, andSize in bytes.
Associated with a 32-bit app on 64-bit clients: SelectYes to expand any path environment variables in the 32-bit context on 64-bit clients. SelectNo (default) to expand any path variables in the 64-bit context on 64-bit clients. 32-bit clients will always use the 32-bit context.
Report the detected registry value as the app version: SelectYes to indicate that this version found on the client device in this registry location shows as the app version in reporting. This might differ from the version of the app properties. Only one detection rule can have this setting. Adding this setting to another rule for this app clears it from the prior rule.

Registry: Verify based on value, string, integer, or version.
Key path: The full path of the registry entry that contains the value to detect. A valid syntax is HKEY_LOCAL_MACHINE\Software\WinRAR or HKLM\Software\WinRAR.
Value name: The name of the registry value to detect. If this value is empty, the detection happens on the key. The (default) value of a key will be used as detection value if the detection method is other than file or folder existence.
Detection method: Select the type of detection method that's used to validate the presence of the app.
Associated with a 32-bit app on 64-bit clients: SelectYes to search the 32-bit registry on 64-bit clients. SelectNo (default) to search the 64-bit registry on 64-bit clients. 32-bit clients will always search the 32-bit registry.
Report the detected registry value as the app version: SelectYes to indicate that this version found on the client device in this registry location shows as the app version in reporting. This might differ from the version of the app properties. Only one detection rule can have this setting. Adding this setting to another rule for this app clears it from the prior rule.

Use a custom detection script: Specify the PowerShell script that is used to detect this app.
Script file: Select a PowerShell script that detects the presence of the app on the client. The app is detected when the script both returns a0 value exit code and writes a string value to STDOUT.
Script content: Add the script to your detection rule.
Run script as 32-bit process on 64-bit clients: SelectYes to run the script in a 32-bit process on 64-bit clients. SelectNo (default) to run the script in a 64-bit process on 64-bit clients. 32-bit clients run the script in a 32-bit process.
Enforce script signature check: SelectYes to verify that a trusted publisher has signed the script, which will allow the script to run with no warnings or prompts displayed. The script runs unblocked. SelectNo (default) to run the script without signature verification.
The Intune agent checks the results from the script. It reads the values written by the script to the STDOUT stream, the standard error (STDERR) stream, and the exit code. If the script exits with a nonzero value, the script fails and the application detection status isn't installed. If the exit code is zero and STDOUT has data, the application detection status is installed.
Note
We recommend encoding your script as UTF-8 BOM. When the script exits with the value of0, the script execution was successful. The second output channel indicates that the app was detected. STDOUT data indicates that the app was found on the client. We don't look for a particular string from STDOUT.
When you add the app to Intune, the version of your Windows catalog app (Win32) is displayed in the Microsoft Intune admin center. The app version is provided in theAll Apps list, where you can filter by Windows catalog app (Win32) and select the optionalversion column. In theMicrosoft Intune admin center, selectApps >All Apps >Columns >Version to display the app version in the app list.
After you've added your rules, selectNext to display theScope tags step.
You can use scope tags to determine who can see client app information in Intune. For full details about scope tags, seeUse role-based access control and scope tags for distributed IT.
ChooseSelect scope tags to optionally add scope tags for the app. Then selectNext to display theReview + create step.
You can select theRequired,Available for enrolled devices, orUninstall group assignments for the app. For more information, seeAdd groups to organize users and devices andAssign apps to groups with Microsoft Intune.
Important
For the scenario when a Win32 app is deployed and assigned based on user targeting, if the Win32 app requires device admin privileges or any other permissions that the standard user of the device doesn't have, the app fails to install.
After you finish setting the assignments for the apps, selectNext to display theReview + create page.
Review the values and settings that you entered for the app. Verify that you configured the app information correctly.
SelectCreate to add the app to Intune.
TheOverview pane for the LOB app appears.
At this point, you've completed steps to add a Windows catalog app (Win32) to Intune.
PowerShell script installers are available for Enterprise App Catalog apps, providing the same script installer capabilities available for Win32 apps. When using PowerShell scripts with EAM apps:
Was this page helpful?
Need help with this topic?
Want to try using Ask Learn to clarify or guide you through this topic?
Was this page helpful?
Want to try using Ask Learn to clarify or guide you through this topic?