Hi @Hoite1974,
You've encountered a known issue with MSIX dependency resolution in Configuration Manager when creating applications from MSIXBundle files that target multiple architectures. The specific problem you're seeing with the Windows App Runtime ARM dependency is a common challenge.
The Root Cause
The Snipping Tool MSIXBundle you downloaded contains architecture-specific packages:
-
Microsoft.ScreenSketch_<version>_x64.msix -
Microsoft.ScreenSketch_<version>_arm64.msix - Potentially x86 variant
When SCCM processes the bundle and you select x64 as the target architecture, it correctly identifies that the x64 package requires Windows App Runtime 1.5. However, the App Runtime redistributable doesn't include a universal ARM architecture variant (Microsoft.WindowsAppRuntime.1.5_*_Universal_Arm.msix) that SCCM thinks it needs.
Why Is This Happening?
Configuration Manager's dependency resolver is:
- Examining ALL packages in the bundle (including ARM64)
- Extracting dependency declarations from each package manifest
- Trying to resolve dependencies for architectures you're NOT deploying
- Failing when it can't find ARM-specific Runtime files
This is technically a dependency resolution logic issue in SCCM 2503 - it should only validate dependencies for the selected deployment architecture (x64), not all architectures present in the bundle.
Solutions
Solution 1: Extract and Use Architecture-Specific MSIX (Recommended)
Instead of using the MSIXBundle, extract the specific architecture package you need:
Steps:
- Extract the MSIXBundle
# Rename bundle to .zip for extraction Copy-Item "Microsoft.ScreenSketch_<version>.msixbundle" -Destination "Microsoft.ScreenSketch.zip" # Extract contents Expand-Archive -Path "Microsoft.ScreenSketch.zip" -DestinationPath "C:\Temp\SnippingTool" - Locate the x64 MSIX file
- Navigate to extracted folder
- Find
Microsoft.ScreenSketch_<version>_x64.msix - Copy this to your package source location
- Create SCCM Application with x64 MSIX
- In SCCM console, create new application
- Type: **Windows app package (*.appx, *.appxbundle, .msix, .msixbundle)
- Point to the extracted
*_x64.msixfile - SCCM will only check dependencies for x64 architecture
- Download Windows App Runtime (if needed)
- Download from: https://aka.ms/windowsappruntimeredist
- Get version 1.5 or newer:
Microsoft.WindowsAppRuntime.1.5.msix(x64)
Solution 2: Manual Dependency Configuration
If you must use the MSIXBundle, you can manually configure dependencies:
Steps:
- Create Application with MSIXBundle (it will show errors - ignore for now)
- Edit the Deployment Type
- Right-click deployment type → Properties
- Go to Dependencies tab
- Click Add to create dependency group
- Add Windows App Runtime as Prerequisite
- Create a separate SCCM application for Windows App Runtime first
- Add it as a dependency with these settings:
- Dependency group name: "Windows App Runtime 1.5"
- Deployment type: x64 only
- Auto-install: Yes
- Modify Detection Method (if needed)
- Go to Detection Methods tab
- Add custom PowerShell script if default detection fails
# Detection script example $package = Get-AppxPackage -Name "Microsoft.ScreenSketch" -AllUsers if ($package -and ($package.Version -ge "10.2008.3001.0")) { Write-Host "Installed" exit 0 } exit 1
Solution 3: Use Winget or PowerShell Deployment
As an alternative to SCCM's native MSIX handling, deploy via script:
Create a Script Deployment Type:
# Install-SnippingTool.ps1
$packageId = "9MZ95KL8MR0L" # Snipping Tool Store ID
try {
# Use Add-AppxProvisionedPackage for system-wide installation
$msixPath = "\\server\share\packages\Microsoft.ScreenSketch_x64.msix"
Add-AppxPackage -Path $msixPath -DependencyPath "\\server\share\packages\Microsoft.WindowsAppRuntime.1.5_x64.msix" -ErrorAction Stop
Write-Host "Snipping Tool installed successfully"
exit 0
}
catch {
Write-Error "Installation failed: $_"
exit 1
}
Configure in SCCM:
- Installation program:
powershell.exe -ExecutionPolicy Bypass -File "Install-SnippingTool.ps1" - Detection: Use custom PowerShell script above
Workaround for Current SCCM Build
If you're experiencing this with SCCM 2503 with Hotfix Rollup, this may be a regression introduced in the recent hotfix. Consider:
- Check for newer hotfixes
- Navigate to Administration > Overview > Updates and Servicing
- See if a newer hotfix addresses MSIX dependency resolution
- Report to Microsoft
- If this is reproducible, open a support case
- Reference: "MSIX Bundle dependency resolution incorrectly validates non-target architectures"
- Test with older build
- If you have a test environment on SCCM 2403 or 2407, test if the issue persists
Additional Tips
Verify Windows App Runtime Version
Check what version your Snipping Tool actually requires:
# Extract and inspect AppxManifest.xml
$msixPath = "C:\Temp\Microsoft.ScreenSketch_x64.msix"
Expand-Archive -Path $msixPath -DestinationPath "C:\Temp\Manifest"
[xml]$manifest = Get-Content "C:\Temp\Manifest\AppxManifest.xml"
$manifest.Package.Dependencies.PackageDependency
Streamline Future MSIX Deployments
For other MSIX applications from the Store:
- Always extract architecture-specific files from bundles
- Create a dependency library in SCCM for common frameworks:
- Windows App Runtime (x64, x86)
- VC++ Libs (x64, x86)
- .NET Runtime packages
- Use PowerShell scripts for complex dependency chains
References
- [Create Windows applications in Configuration Manager]
(https://learn.microsoft.com/en-us/mem/configmgr/apps/get-started/creating-windows-applications)
- [Support for MSIX format in SCCM]
- [MSIX App Distribution]
(https://learn.microsoft.com/en-us/windows/msix/desktop/managing-your-msix-deployment-enterprise)
- [Windows App Runtime Download]
(https://aka.ms/windowsappsdk/latest)
Solution 1** (extract x64 MSIX) first as it's the cleanest approach.
I hope that helps!