Fix for Error 0x80073CFA when Uninstalling an App in Windows 10

When uninstalling a Store app in Windows 10, you may get the error 0x80073CFA. This happens whether you use the Apps & Features GUI or PowerShell command to remove the app. Many users have indicated that the error happens when uninstalling some game apps like Forza Motorsport, Forza Horizon, Asphalt: Airborne, etc.

0x80073CFA uninstalling apps error

We couldn't uninstall app_name

The operation did not complete successfully. Try again in a bit.

The error code is 0x80073CFA, in case you need it.

However, the error 0x80073CFA is not specific to Microsoft gaming apps. It can happen for any app, for that matter.

Attempting to uninstalling the app using PowerShell’s Remove-AppxPackage would result in the same error code:

0x80073CFA uninstalling apps error powershell

Remove-AppxPackage : Deployment failed with HRESULT: 0x80073CFA, Removal failed. Please contact your software vendor.
(Exception from HRESULT: 0x80073CFA)

error 0x80070032: AppX Deployment Remove operation on package package_name from:
C:\WINDOWS\SystemApps\package_path failed. This app is part of Windows and
cannot be uninstalled on a per-user basis. An administrator can attempt to remove the app from the computer using Turn
Windows Features on or off. However, it may not be possible to uninstall the app.

(The above error happened when attempting to uninstall the in-box package named Microsoft.Windows.PeopleExperienceHost for the sake of illustration.)

Cause

The 0x80073CFA error (“Removal failed. Please contact your software vendor.”) occurs if you try to uninstall a non-removable inbox app. Inbox apps are official Microsoft apps bundled with Windows 10 and installed during Windows 10 Setup — e.g., Photos, Calendar, Alarma, Camera, Calculator, People app, etc. Some of the inbox apps are “non-removable” and some are removable — e.g., the Photos app.

The StateRepository-Machine.srd database has a field named IsInbox against app which may be set to 1 or  0. If it’s set to 1, it’s a designated inbox app. For non-removable apps, PowerShell’s Get-AppxPackage <PackageName> command will show that the package is NonRemovable.

get-appxpackage nonremovable

If you need to trim down Windows by removing unused or unwanted apps, there is a way to forcibly remove them even though they’re marked as non-removable inbox apps. To do so, you need to first set the IsInbox value to 0 by editing the StateRepository-Machine.srd database.

Solution for Error 0x80073CFA

To forcibly uninstall a stubborn or non-removable Store app and prevent the error 0x80070032, follow these steps:

Step 1: Install Python3

Install Python3 if you don’t have it installed already. You can download the Python3 installer from the following links:

  • For Windows x86: https://www.python.org/ftp/python/3.7.3/python-3.7.3.exe
  • For Windows x64: https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe

Step 2: Get the Python script file: “Fix.py”

Download the Python script file named “Fix.py” from the following GitHub link:

https://gist.github.com/DoubleLabyrinth/ffae94cb9444bbdae1d11deeaa247310#file-fix-py

(Credits to the coder DoubleLabyrinth for this neat little script.)

After downloading it, open “Fix.Py” in Notepad.

Edit the code at line #8 and change the app name. The script has the following code at line #8:

WHERE PackageFullName LIKE "Microsoft.Windows.HolographicFirstRun%";

You want to change that to the application name you’re trying to uninstall – e.g. if you’re trying to remove Microsoft.Windows.PeopleExperienceHost, add it there.

WHERE PackageFullName LIKE "Microsoft.Windows.PeopleExperienceHost%";

Save the Python script file “Fix.py” and close Notepad.

Note: If you don’t know the exact name of the app, you can open a PowerShell window and type:

get-appxpackage *partial_name_of_the_app*

Example:

get-appxpackage *peopleexperience*

From the PowerShell output, copy the app name shown adjacent to the “Name:” column.

Step 3: Run the Python script

Open Command Prompt under the SYSTEM account. The best way to do this is to download PsExec.exe from Windows Sysinternals.

From an administrator Command Prompt, run the following command-line:

psexec.exe -i -s -d cmd.exe

(The above command assumes the folder that has PsExec.exe is in the PATH. If not, mention the full path to PsExec.exe)



If the above command is successful, it opens a new Command Prompt window — but under the LocalSystem privileges.

Switch to the Command Prompt (Local System) window and perform the rest of the procedure:

First, backup the StateRepository-Machine.srd database file using the following command-line:

copy "%ProgramData%\Microsoft\Windows\AppRepository\StateRepository-Machine.srd" c:\backup.srd

Then, run the Python script file using the following command-line syntax:

Python.exe scriptfilename.py

Example:

"C:\Users\Ramesh Srinivasan\AppData\Local\Programs\Python\Python37\python.exe" "C:\Users\Ramesh Srinivasan\Desktop\fix.py"

0x80073CFA store app remove using python script

The following output means that the script has run successfully:

Trigger "TRG_AFTER_UPDATE_Package_SRJournal" has been cleared.
IsInbox of "Microsoft.Windows.PeopleExperienceHost_10.0.19041.423_neutral_neutral_cw5n1h2txyewy" has been set to 0.
Trigger "TRG_AFTER_UPDATE_Package_SRJournal" has been restored.

The script has successfully changed the IsInbox value data to 0 in the StateRepository-Machine.srd database.

Manual procedure

As an alternative to the Python script method, you can manually modify the IsInbox value by using the “DB Browser for SQLite” software. However, in Windows 2004 and 20H2, you’ll need to remove the AFTERDELETE (“TRG_AFTERDELETE_Package_Key”) trigger first. After modifying the IsInbox value, restore the AFTERDELETE trigger.

Or else, you’ll see the following error:

sqlite sr_journal trigger error

DB Browser for SQLite

Error changing data:
no such function: is_srjournal_enabled

For the manual procedure, you may use the excellent instructions at this site How To Force Remove Windows Store (UWP) Apps.

Step 4: Uninstall the app using PowerShell

After completing Steps 1-3, you should be able to uninstall the problematic app now using PowerShell.

Run the command:

Get-AppxPackage <app_name> | Remove-AppxPackage

To remove it for all users, run the following from an admin PowerShell window:

Get-AppxPackage -allusers <app_name> | Remove-AppxPackage

That fixes the error 0x80073CFA. On pre-Windows v2004 systems, you may be able to modify the IsInbox value directly using SQLite Browser utility without removing the trigger(s). This post is based on the Windows 10 version 20H2 build 10.0.19042.685 which is the current build as of this post.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

1 thought on “Fix for Error 0x80073CFA when Uninstalling an App in Windows 10”

  1. This is a really helpful instructional article. You explained everything very well. It will help me defeat Microsoft’s desire to thwart my attempts to make my system MY system. I had gotten ridge of Edge completely months ago until it suddenly appeared again yesterday. Nothing is safe from Microsoft’s intrusive lack of respect for their customers, IMO.
    I wasn’t aware of the IsInbox classification, StateRepository-Machine.srd , etc.
    Thank you again!

    Reply

Leave a Comment