Issues creating SCCM application from MSIXBundle

Hoite1974 26 Reputation points
2025-11-06T14:20:22.5+00:00

Hello evveryone!

I have been tasked with creating an SCCM Application from a MSIXBundle and what ever I try to do, I can't seem to fulfill the dependecies. I am running the latest SCCM (2503 with Hotfix rollup), and I am attempting to create an application for the Snipping Tool. I have downloaded the msixbundle, by running "winget download --id 9MZ95KL8MR0L" transferring it to my package share, and from the I am trying to create the application, targetting the windows.desktop platform and the x64 architecture msixbundle file, using the SCCM console.

I have a suspicion, SCCM is expecting a file called "Microsoft.WindowsAppRuntime.1.5_5001.373.1736.0_Universal_Arm.msix" but I don't think that exists at all in the Windows App Runtime, at least not when I check the Windows App Runtime redistributable.

Has anyone else experienced this, and know how to resolve it, or should it be reported as a bug?

Best Regards

Holger

Capture

Microsoft Security | Intune | Configuration Manager | Application
0 comments No comments

Answer accepted by question author
David Broggy 6,801 Reputation points MVP
2025-11-08T16:37:33.7566667+00:00

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:

  1. Examining ALL packages in the bundle (including ARM64)
  2. Extracting dependency declarations from each package manifest
  3. Trying to resolve dependencies for architectures you're NOT deploying
  4. 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:

  1. 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"
    
    
  2. Locate the x64 MSIX file
    • Navigate to extracted folder
    • Find Microsoft.ScreenSketch_<version>_x64.msix
    • Copy this to your package source location
  3. 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.msix file
    • SCCM will only check dependencies for x64 architecture
  4. Download Windows App Runtime (if needed)

Solution 2: Manual Dependency Configuration

If you must use the MSIXBundle, you can manually configure dependencies:

Steps:

  1. Create Application with MSIXBundle (it will show errors - ignore for now)
  2. Edit the Deployment Type
    • Right-click deployment type → Properties
    • Go to Dependencies tab
    • Click Add to create dependency group
  3. 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
  4. 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:

  1. Check for newer hotfixes
    • Navigate to Administration > Overview > Updates and Servicing
    • See if a newer hotfix addresses MSIX dependency resolution
  2. Report to Microsoft
    • If this is reproducible, open a support case
    • Reference: "MSIX Bundle dependency resolution incorrectly validates non-target architectures"
  3. 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:

  1. Always extract architecture-specific files from bundles
  2. Create a dependency library in SCCM for common frameworks:
    • Windows App Runtime (x64, x86)
    • VC++ Libs (x64, x86)
    • .NET Runtime packages
  3. 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]

(https://learn.microsoft.com/en-us/mem/configmgr/apps/get-started/creating-windows-applications#support-for-msix-format)

  • [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!

Was this answer helpful?

2 people found this answer helpful.

1 additional answer

Sort by: Oldest
  1. Hoite1974 26 Reputation points
    2025-11-10T09:32:34.2+00:00

    Hello David!

    Thank you so much for your thourough explaination.

    Option 1 solved my issues!

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.