Starting from Windows 10 1703 (Creators Update), several new built-in universal apps appeared in the system and you cannot remove them using the standard procedure. For example, when you try to remove the built-in universal apps using the Remove-AppxPackage cmdlet, the following error appears: “HRESULT 0x80073CFA Removal failed”. In this article, we’ll consider a trick that allows you to force removal of any built-in app in Windows 10.
Suppose you have an error when trying to remove the built-in universal application:
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
Microsoft.XboxGameCallableUI_1000.16299.15.0_neutral_neutral_c5as4n4uizeyw from:
C:\Windows\SystemApps\Microsoft.XboxGameCallableUI_c5as4n4uizeyw 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.
NOTE: For additional information, look for [ActivityId] b2516df1-c2fa-2201-f028-1af9ae2ba901 in the Event Log or use
the command line Get-AppxLog -ActivityID b2516df1-c2fa-2201-f028-1af9ae2ba901
At line:1 char:1
+ Remove-AppxPackage Microsoft.XboxGameCallableUI_1000.16299.15.0_neutr …
+ ~~
+ CategoryInfo : WriteError: (Microsoft.XboxG…l_c5as4n4uizeyw:String) [Remove-AppxPackage], IOException
+ FullyQualifiedErrorId : DeploymentError, Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand
To remove the Windows 10 application, you will need two free tools:
- Psexec by Sysinternals;
- DB Browser for SQLite.
- Download pstools.zip, unpack it to the C:\PS folder, and then install (or download a portable version) DB Browser for SQLite;
- Using psexec, run the interactive command prompt under the Local System:
psexec.exe -i -s -d cmd.exe
- In the next window run on behalf of the SYSTEM the executable file C:\Program Files\DB Browser for SQLite\DB Browser for SQLite.exe or SQLiteDatabaseBrowserPortable.exe;
- Then click Open Database in the DB Browser window and open the following file: %ProgramData%\Microsoft\Windows\AppRepository\StateRepository-Machine.srd;
- Go to the Browse Data tab and select the Package table;
- Now find the name of the app you want to remove in the PackageFullName column. (In our example it is Microsoft.XboxGameCallableUI_c5as4n4uizeyw.) Change the value in the IsInbox column from 1 to 0 for this app;
- Save the changes using File->Write changes (or press CTRL+S);
- Then try to remove the app from PowerShell:
Remove-AppxPackage Microsoft.XboxGameCallableUI_1000.16299.15.0_neutral_neutral_c5as4n4uizeyw
It should be removed without any errors or warnings.
Having searched the web, I found that the IsInbox flag for built-in apps had appeared in the local system base for Windows apps since the Windows 10 Anniversary update (1607). When trying to remove a built-in app with the IsInbox flag enabled, the error 0x80073CFA appears.
14 comments
Please elaborate how to run the interactive command prompt under the Local System: psexec.exe -i -s -d cmd.exe using psexec
Download the PsExec tool (_https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) and extract it to a local folder.
Next, run the elevated
cmd.exe
, go to the folder with psexec:cd c:\tools\psexec
and run the command:psexec.exe -i -s -d cmd.exe
I tried to do this step by step, however as soon as I want to edit the IsInbox column for a package, I get Error changing data: attempt to write a readonly database. Any idea how to solve this?
when Write changes, error : no such function:workid. pls help
Make sure you run the DB Browser on behalf of the Local System. And specify your Windows 10 build.
I already put both PS and DBrowser on my C: encountered error: error : no such function:workid Windows10 1909 18363.778
Have tried this on Windows 10 build 2004 x64, DB Browser for SQL running as SYSTEM, error:
—————————
DB Browser for SQLite
—————————
Erro modificando dados:
no such function: is_srjournal_enabled
—————————
OK
—————————
To anyone with this problem. It arises because the table has a trigger after update. There are two options: 1) If you are updating the database through a custom program or script, use the sqlite3_create_function() API function to create the function the triffer requires. 2) From the command-line utility: drop the trigger before update, and you can (in my case I do not did it) recreate it later. a) Use .schema Package to list the triggers, and copy the text of the trigger, in my case it was TRG_AFTER_UPDATE_Package_SRJournal. b) DROP TRIGGER TRG_AFTER_UPDATE_Package_SRJournal; c) Do your update. d) Recreate the trigger, in my case CREATE TRIGGER TRG_AFTER_UPDATE_Package_SRJournal AFTER UPDATE ON Package FOR EACH ROW WHEN is_srjournal_enabled() BEGIN UPDATE Sequence SET LastValue=LastValue+1 WHERE Id=2 ;INSERT INTO SRJournal(_Revision, _WorkId, ObjectType, Action, ObjectId, PackageIdentity, WhenOccurred, SequenceId)SELECT 1, workid(), 1, 2, NEW._PackageID, pi._PackageIdentityID, now(), s.LastValue FROM Sequence AS s CROSS JOIN PackageIdentity AS pi WHERE s.Id=2 AND pi.PackageFullName=NEW.PackageFullName;END
Nevermind, solved using this steps: https://gist.github.com/DoubleLabyrinth/ffae94cb9444bbdae1d11deeaa247310
I’m getting this error when trying to remove some sound related packages, IsInbox is already set to 0 and running powershell as admin with Remove-AppxPackage command still results in 0x80073CFA error. Ideas anyone?
Nevermind. Even though the sound apps shouldn’t have required special system access doing so allows me to nuke the damn things.
Update: Didn’t work for all sound packages some still won’t get removed even with system access. The packages I’m trying to remove are DTS and Nahimic ones
17 march 2022
this is just after my update for windows 10 22H2. i chose to eliminate edge. when i looked in the database above, i found two versions to remove, the out of the box version that came with windows 10, and the new version that was automatically installed with 22H2. there are registry edits that will keep edge from reinstalling beyond the scope of this update.
i had to take ownership from TrustedInstaller in file properties/advanced/ on the database to be modified, before the database could open it: C:\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd
Returning ownership after was easy with a quick online search.
step 7 above may not be possible until the “IsInBox” field is unlocked. the trigger that must be removed to disable the lock and allow editing on is: TRG_AFTER_UPDATE_Package_SRJournal in the “Database Structure” tab in the database. a sql command to copy the trigger back is available via right click – and must be done prior to the temporary deletion of the trigger. the trigger must be recreated after – the sql script below is what i put into the “Execute SQL” tab.
to recreate this trigger on my system – yours may differ – my sql script was:
CREATE TRIGGER TRG_AFTER_UPDATE_Package_SRJournal AFTER UPDATE ON Package FOR EACH ROW WHEN is_srjournal_enabled()BEGIN UPDATE Sequence SET LastValue=LastValue+1 WHERE Id=2 ;INSERT INTO SRJournal(_Revision, _WorkId, ObjectType, Action, ObjectId, PackageIdentity, WhenOccurred, SequenceId)SELECT 1, workid(), 1, 2, NEW._PackageID, pi._PackageIdentityID, now(), s.LastValue FROM Sequence AS s CROSS JOIN PackageIdentity AS pi WHERE s.Id=2 AND pi.PackageFullName=NEW.PackageFullName;END
ETA – got here after seeing:
DB Browser for SQLite
Error changing data:
no such function: is_srjournal_enabled
removing the trigger, then writing the change, then returning the trigger put the database back to its working state.
finished removing edge using powershell commands that are found easily with a search. the prior methods of removing edge fail after the 22H2 win10 update.