Skip to content

app2pack/EAM-App-Catalog-Reference-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Win32 EAM App Catalog Reference Tool

πŸŸ₯🟩 Browse and search the Microsoft
🟦🟨 Intune Enterprise App Management (EAM) catalog β€” 1,568 Win32 apps available for zero-touch deployment via Microsoft Intune.

πŸ“¦ Download from here

What's Included

File Purpose
EAM-Catalog-Viewer-Public.html Browser-based catalog viewer β€” works offline, no server needed
eam-catalog-public.json Pre-exported catalog snapshot (1,568 apps, 496 publishers)

How to Use the HTML Viewer

Step 1 β€” Open the viewer

Download both files into the same folder. Open EAM-Catalog-Viewer-Public.html in your browser (Chrome, Edge, Firefox, or Safari).

πŸ“‚ your-folder/
   β”œβ”€β”€ EAM-Catalog-Viewer-Public.html
   └── eam-catalog-public.json

You will see the drop zone screen β€” drag your JSON file onto it or click Browse file.

Step 2 β€” Load the JSON

Click Browse file and select eam-catalog-public.json. Or drag and drop the file onto the drop zone.

Tip: Click Load sample data to preview the viewer with 4 sample apps before loading the real file.

Step 3 β€” Browse the catalog

After loading, the dashboard shows 4 KPI cards (Total, Publishers, Auto-Update, Matching), a toolbar with filters, a sortable table, and pagination.

Step 4 β€” Click any app for details

Clicking a row opens a detail panel showing:

  • Version, Architecture, Auto-Update status, Branch, Min Windows, Release Date
  • Package ID, Product ID, Branch ID β€” click any to copy to clipboard
  • Graph API query reference for direct API access

Available Filters

Filter Options
Search App name, publisher, or version (live, as you type)
Publisher Dropdown of all 496 publishers
Architecture x64 / x86 / arm64
Auto-Update All / Auto-Update: Yes / Manual only

View Toggle

Button View
☰ Table view β€” sortable columns, click header to sort
βŠ™ Card view β€” visual grid

Export CSV

Click ↓ Export CSV to download all currently filtered apps as a CSV file with columns: App Name, Publisher, Version, Architecture, Auto-Update, Branch, Product ID, Package ID.


Export a Fresh Catalog Using Microsoft Graph PowerShell

The pre-exported JSON is a point-in-time snapshot. To get the latest data, export it yourself.

Prerequisites

PowerShell 7.x (recommended) or Windows PowerShell 5.1

Install the Microsoft Graph PowerShell SDK:

Install-Module Microsoft.Graph.Devices.CorporateManagement -Scope CurrentUser -Force

Using the sub-module is faster than installing the full Microsoft.Graph package.

Required Permission

Your account needs DeviceManagementApps.Read.All in Microsoft Entra (admin consent required).

Step 1 β€” Connect

Connect-MgGraph -Scopes "DeviceManagementApps.Read.All"

A browser window opens for sign-in. To target a specific tenant:

Connect-MgGraph -TenantId "your-tenant-id-here" -Scopes "DeviceManagementApps.Read.All"

Verify the connection:

Get-MgContext

Step 2 β€” Fetch all catalog packages (paginated)

$AllApps = [System.Collections.Generic.List[object]]::new()
$Uri     = "https://graph.microsoft.com/beta/deviceAppManagement/mobileAppCatalogPackages?`$top=999"

do {
    $Response = Invoke-MgGraphRequest -Uri $Uri -Method GET
    foreach ($app in $Response.value) { $AllApps.Add($app) }
    $Uri = $Response.'@odata.nextLink'
    Write-Host "  Fetched $($AllApps.Count) apps so far..."
} while ($Uri)

Write-Host "Total packages fetched: $($AllApps.Count)"

Step 3 β€” Build and export JSON

$ExportData = $AllApps | ForEach-Object {
    [PSCustomObject]@{
        id                             = [string]$_.id
        productId                      = [string]$_.productId
        productDisplayName             = [string]$_.productDisplayName
        publisherDisplayName           = [string]$_.publisherDisplayName
        versionDisplayName             = [string]$_.versionDisplayName
        branchName                     = [string]$_.branchName
        branchId                       = [string]$_.branchId
        applicableArchitectures        = [string]$_.applicableArchitectures
        packageAutoUpdateCapable       = [bool]$_.packageAutoUpdateCapable
        minimumSupportedWindowsRelease = [string]$_.minimumSupportedWindowsRelease
        releaseDateTime                = [string]$_.releaseDateTime
        productDescription             = [string]$_.productDescription
    }
} | Sort-Object productDisplayName

$Output = [PSCustomObject]@{
    totalCount = $ExportData.Count
    apps       = $ExportData
}

# Save to current directory (change path as needed)
$OutputPath = ".\eam-catalog-public.json"
$Output | ConvertTo-Json -Depth 5 | Out-File -FilePath $OutputPath -Encoding utf8NoBOM -Force

Write-Host "Exported $($ExportData.Count) apps to: $OutputPath"

Note: Use -Encoding utf8NoBOM in PowerShell 7. In Windows PowerShell 5.1, use -Encoding UTF8 (the viewer handles BOM automatically).

Step 4 β€” Disconnect

Disconnect-MgGraph

Step 5 β€” Load the new JSON

Open EAM-Catalog-Viewer-Public.html β†’ click Browse file β†’ select your new JSON.


Available Fields in the JSON

Field Description Populated
productDisplayName Application name βœ… Always
publisherDisplayName Publisher / vendor βœ… Always
versionDisplayName Latest available version βœ… Always
applicableArchitectures x64, x86,x64, or arm64 βœ… Always
id Unique package ID (GUID) βœ… Always
productId Product-level ID (GUID) βœ… Always
branchId Branch ID (GUID) βœ… Always
packageAutoUpdateCapable true if EAM manages updates automatically ⚠ ~23% (367/1,568)
branchName Branch label (e.g. Stable, Beta) ❌ Rarely
minimumSupportedWindowsRelease Min Windows version ❌ Rarely
releaseDateTime Package release date ❌ Rarely
productDescription App description ❌ Rarely

Why no Installer Type (EXE/MSI)? The Microsoft Graph catalog API does not return installerType in its response β€” not in the list endpoint, and not in the individual package detail endpoint. This is a current Microsoft API limitation.

Why are some apps listed twice (same name, different Package ID)? The same Product ID with two Package IDs means Microsoft published the app in two different deployment packages β€” likely different installer types or install contexts (System vs User). The Product ID is the same; the Package ID is unique per package variant.


Notes

  • The catalog reflects apps available in the Microsoft EAM catalog β€” not apps deployed in your tenant
  • Microsoft updates the catalog regularly β€” re-export to get the latest versions
  • The viewer works in Chrome, Edge, Firefox, and Safari (including iOS Safari)
  • The JSON never leaves your device β€” everything runs locally in your browser

Snapshot Info

Property Value
Apps in snapshot 1,568
Publishers 496
Auto-update capable 367 (23%)
Architectures x64, x86,x64, arm64
Source Microsoft Graph beta β€” mobileAppCatalogPackages

Created by β€” Vigneshwaran

About

Tool to Browse and search the Microsoft Intune Enterprise App Management (EAM) catalog

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages