Fix DISM Add-AppxProvisionedPackage Returning 0x80073CFA on Windows 11
🔍 WiseChecker

Fix DISM Add-AppxProvisionedPackage Returning 0x80073CFA on Windows 11

When you run the DISM command Add-AppxProvisionedPackage on Windows 11, the operation may fail with error code 0x80073CFA. This error indicates that the package could not be added because it is already provisioned for all user accounts on the system. The root cause is typically a stale or orphaned package registration in the Windows image. This article explains why the error occurs and provides three reliable methods to resolve it.

Key Takeaways: Fixing DISM Add-AppxProvisionedPackage Error 0x80073CFA

  • DISM /Image /Get-ProvisionedAppxPackages: Lists all provisioned AppX packages to identify duplicates or conflicts.
  • Remove-AppxProvisionedPackage: Removes the existing provisioned package before re-adding it with Add-AppxProvisionedPackage.
  • DISM /Image /Set-ProvisionedAppxPackage: Skips the add step entirely and directly sets the package as provisioned for all users.

ADVERTISEMENT

Why DISM Returns 0x80073CFA When Adding a Provisioned AppX Package

The error code 0x80073CFA translates to APPX_PROVISION_FAILED_PACKAGE_ALREADY_EXISTS. This means the Windows image already has a record of the specified AppX package as provisioned for all new user accounts. DISM refuses to add a duplicate entry because each package can be provisioned only once per image.

This situation arises when you attempt to provision a package that was previously removed but left behind a stale registration, or when you try to add a package that is already included in the base image. The Windows image stores a list of provisioned packages in the registry hive HKLM\Software\Microsoft\Windows\CurrentVersion\Appx\ProvisionedPackages. If an entry exists there, DISM will reject a new add command.

Common Scenarios That Trigger Error 0x80073CFA

IT administrators and advanced users often encounter this error when performing offline servicing of a Windows 11 image. For example, you might download a new version of Microsoft Teams and try to add it as a provisioned package, only to find that an older version is already registered. Another common case is rebuilding a custom Windows 11 image after removing bloatware: re-adding a package that was previously removed can fail if the removal did not fully clean the provisioning record.

Method 1: Remove the Existing Provisioned Package and Re-Add It

The most direct fix is to remove the existing provisioned package entry and then add it again. This method requires you to know the exact package name as it appears in the image.

  1. Open an elevated Command Prompt or PowerShell window
    Press Win + X and select Terminal Admin. Confirm the User Account Control prompt.
  2. Mount the Windows 11 image if servicing offline
    If you are working with an offline image, mount it first. For example: dism /Mount-Image /ImageFile:C:\Images\install.wim /Index:1 /MountDir:C:\Mount
  3. List all provisioned AppX packages
    Run dism /Image:C:\Mount /Get-ProvisionedAppxPackages (replace C:\Mount with your mount path). Scroll through the list to find the package name causing the conflict. The package name looks like Microsoft.Teams_1.0.0.0_neutral_~_8wekyb3d8bbwe.
  4. Remove the conflicting package
    Execute dism /Image:C:\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Teams_1.0.0.0_neutral_~_8wekyb3d8bbwe. Wait for the operation to complete.
  5. Add the package again
    Now run dism /Image:C:\Mount /Add-ProvisionedAppxPackage /PackagePath:C:\Packages\YourPackage.appx /SkipLicense. The /SkipLicense flag bypasses license acceptance if applicable.
  6. Commit the changes
    If working offline, unmount and commit: dism /Unmount-Image /MountDir:C:\Mount /Commit.

If the error persists after removal, proceed to Method 2.

ADVERTISEMENT

Method 2: Use Set-ProvisionedAppxPackage to Overwrite the Entry

The DISM command Set-ProvisionedAppxPackage directly updates an existing provisioned package entry without requiring a separate removal. This method is faster and avoids the duplicate entry issue altogether.

  1. Open an elevated Command Prompt or PowerShell window
    Press Win + X and select Terminal Admin.
  2. Mount the Windows 11 image if servicing offline
    dism /Mount-Image /ImageFile:C:\Images\install.wim /Index:1 /MountDir:C:\Mount
  3. Run Set-ProvisionedAppxPackage
    Execute dism /Image:C:\Mount /Set-ProvisionedAppxPackage /PackagePath:C:\Packages\YourPackage.appx /SkipLicense. This command replaces the existing provisioned package record with the new one.
  4. Verify the package was updated
    Run dism /Image:C:\Mount /Get-ProvisionedAppxPackages and confirm the package version matches the new file.
  5. Commit and unmount
    dism /Unmount-Image /MountDir:C:\Mount /Commit

This method works even if the package is already provisioned, because Set-ProvisionedAppxPackage is designed to overwrite the existing entry.

Method 3: Clean the Provisioning Registry Hive Manually

If both DISM methods fail, the provisioning record may be corrupted or stuck in the registry. You can edit the offline registry hive directly to remove the stale entry.

  1. Open Regedit and load the SOFTWARE hive of the offline image
    Run regedit as administrator. Select HKEY_LOCAL_MACHINE, then click File > Load Hive. Navigate to C:\Mount\Windows\System32\config\SOFTWARE. Enter a temporary key name, such as OfflineSoftware.
  2. Navigate to the ProvisionedPackages key
    Go to HKEY_LOCAL_MACHINE\OfflineSoftware\Microsoft\Windows\CurrentVersion\Appx\ProvisionedPackages. You will see subkeys named after each provisioned package.
  3. Delete the conflicting package subkey
    Right-click the subkey that matches the package you want to re-add and select Delete. Confirm the deletion.
  4. Unload the hive
    Select HKEY_LOCAL_MACHINE\OfflineSoftware, then click File > Unload Hive. Confirm the prompt.
  5. Run Add-AppxProvisionedPackage again
    Use the same DISM command from Method 1 to add the package. With no existing entry, it should succeed.

If the Error Still Occurs After the Main Fix

“Add-AppxProvisionedPackage fails with 0x80073CFA on a freshly captured image”

If you captured an image from a reference computer that already has the package provisioned, the image will contain that provisioning record. Use Method 2 (Set-ProvisionedAppxPackage) to update the package to a newer version, or use Method 1 to remove and re-add it.

“DISM returns 0x80073CFA but Get-ProvisionedAppxPackages shows no matching package”

This can happen when the package is registered in the online Windows installation but not in the offline image. Run dism /online /Get-ProvisionedAppxPackages on the reference machine to check. If the package appears online, remove it with dism /online /Remove-ProvisionedAppxPackage /PackageName:... before capturing the image again.

“Error 0x80073CFA when adding a package with a different architecture”

DISM will reject a package if its processor architecture does not match the image. For example, an x64 package cannot be added to an ARM64 image. Verify that the package file matches the image architecture. Use dism /Get-ImageInfo /ImageFile:install.wim /Index:1 to check the architecture.

Item Method 1: Remove and Re-Add Method 2: Set-ProvisionedAppxPackage
Complexity Medium Low
Requires package name Yes No
Works with stale entries Yes Yes
Risk of data loss None None
Best for First-time resolution Quick overwrite

Now you can resolve DISM error 0x80073CFA by removing the stale provisioned package, using Set-ProvisionedAppxPackage to overwrite it, or cleaning the registry hive manually. For future deployments, always check the provisioned package list before running Add-AppxProvisionedPackage. Use the command dism /Image:C:\Mount /Get-ProvisionedAppxPackages as a first step to avoid this error entirely.

ADVERTISEMENT