Site icon Winhelponline

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.

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:

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.

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:

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"

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:

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.

Exit mobile version