Hoe los ik foutcode 0x80073CFA op bij het verwijderen van apps met Remove-AppxPackage in Windows 10?

Windows 10 (vooral na build 1703) heeft een hoop ingebouwde apps geïntroduceerd die zich moeilijk laten verwijderen via de gebruikelijke methode. Als je Remove-AppxPackage in PowerShell hebt geprobeerd en de gevreesde foutmelding ” HRESULT 0x80073CFA Removal failed ” hebt gezien, ben je niet de enige. Deze apps zijn inmiddels ingebouwd in Windows en het systeem wil ze echt niet loslaten. Het vreemde is dat ze soms worden weergegeven als “onderdeel van Windows” en aangeven dat ze niet per gebruiker kunnen worden verwijderd, wat je ook probeert. Dan moet je wat creatiever te werk gaan en achter de schermen in de code kijken. Deze handleiding beschrijft hoe je die hardnekkige apps geforceerd kunt verwijderen door de Windows-appdatabase rechtstreeks te bewerken. Het is een beetje een omslachtige methode, maar vaak noodzakelijk. Verwacht dat je wat met de opdrachtregel moet werken en in het onderliggende app-register moet rommelen. Wees je hiervan bewust en maak zeker eerst een back-up of een herstelpunt aan, want Windows maakt het je natuurlijk lastig.

Hoe los je de foutmelding “HRESULT 0x80073CFA” op bij het verwijderen van ingebouwde apps?

Methode 1: Gebruik Psexec en SQLite om de ‘Inbox’-status van de app te wijzigen.

Deze methode draait om het omdraaien van een vlag in de app-database van Windows. Het idee? Verander de IsInbox- waarde in de database, zodat Windows de app niet langer als een essentiële app beschouwt, en probeer hem vervolgens opnieuw te verwijderen. Het is alsof je Windows voor de gek houdt door te doen alsof de app niet essentieel is. Let op: dit kan op sommige systemen lastig zijn – op de ene machine werkte het na een paar pogingen, op de andere niet. Want Windows moet het natuurlijk zo ingewikkeld mogelijk maken.

  1. Download eerst PSTools van Sysinternals — download het ZIP-bestand en pak het uit naar C:\PS. Als je het niet wilt installeren, kun je de draagbare versie direct vanuit die map uitvoeren. Download en installeer (of download een draagbare versie van) DB Browser for SQLite.
  2. Open een opdrachtprompt als beheerder en navigeer vervolgens naar de map waar u psexec hebt uitgepakt:
    cd C:\PS
  3. Voer deze opdracht uit om een ​​opdrachtprompt op systeemniveau te openen:
    psexec.exe -i -s -d cmd.exe

    Dit opent een nieuw venster met SYSTEM-rechten, wat nodig is voor het bewerken van systeemwijde databases.

  4. Open het nieuwe venster en start het uitvoerbare bestand van de app via de SYSTEM-context. Het pad is afhankelijk van uw configuratie, maar is doorgaans:
    "C:\Program Files\DB Browser for SQLite\DB Browser for SQLite.exe"

    Of, als je de draagbare versie gebruikt, ga dan naar de locatie waar je het bestand hebt uitgepakt. Mogelijk moet je dit uitvoeren vanuit PowerShell of de opdrachtregel in de SYSTEM-prompt.

  5. Zodra DB Browser is geopend, klikt u op Database openen en navigeert u naar:
    %ProgramData%\Microsoft\Windows\AppRepository\StateRepository-Machine.srd

    Dit is de systeemdatabase waarin app-informatie wordt opgeslagen.

  6. Ga naar het tabblad ‘Gegevens bekijken’ en selecteer vervolgens de tabel ‘Pakket ‘.
  7. Zoek de app op basis van de PackageFullName. Zoek bijvoorbeeld naar Microsoft. XboxGameCallableUI_1000.16299.15.0_neutral_neutral_c5as4n4uizeyw. Wijzig de waarde in de kolom IsInbox van 1 naar 0 — dit geeft Windows aan dat de app geen essentieel onderdeel meer is.
  8. Sla deze wijziging op door op ‘Wijzigingen opslaan’ te klikken (of op Enter te drukken CTRL + S).Ik weet niet precies waarom, maar soms heeft de database een klein duwtje nodig voordat Windows de wijziging accepteert.
  9. Sluit de database, ga terug naar PowerShell of de opdrachtprompt en voer de verwijderingsopdracht uit:
    Remove-AppxPackage Microsoft. XboxGameCallableUI_1000.16299.15.0_neutral_neutral_c5as4n4uizeyw

    Als alles goed is gegaan, zou die HRESULT-fout niet meer moeten verschijnen en zou Windows die app zonder problemen moeten loskoppelen.

Dit hele proces is een beetje onvoorspelbaar: op sommige machines werkt het in één keer, op andere moet je het misschien herhalen of de computer opnieuw opstarten. De truc zit hem in het aanpassen van de IsInbox -vlag van die database. Interessant genoeg bestaat deze vlag al sinds de Windows 10 Anniversary Update (1607); het is als een geheime schakelaar voor ingebouwde apps die normaal gesproken vergrendeld zijn.

Omdat Windows de zaken graag ingewikkeld maakt, heb ik gevallen gezien waarbij het opnieuw opstarten of het aanpassen van een paar andere instellingen (zoals het uitschakelen van automatische updates voor Store-apps) ervoor zorgde dat problemen werden opgelost of juist volledig werden verholpen.

Samenvatting

  • Maak een back-up van uw systeem (herstelpunt of schijfkopie) — altijd een goed idee voordat u met systeemdatabases gaat werken.
  • Download PSTools en pak het uit naar C:\PS.
  • Voer het programma psexec.exe -i -s -d cmd.exeuit vanuit die map.
  • Start DB Browser voor SQLite en open StateRepository-Machine.srd.
  • Zoek je app op, verander IsInbox naar 0, sla op en probeer het verwijderen opnieuw.

Samenvatting

Het verwijderen van deze ingebouwde apps is niet eenvoudig, maar met een tool als DB Browser en opdrachten op systeemniveau kan het wel lukken. Niet elke configuratie is hetzelfde, dus verwacht wat uitproberen. Onthoud wel dat het wijzigen van systeembestanden altijd risico’s met zich meebrengt, dus maak eerst een back-up en ga voorzichtig te werk. Hopelijk bespaart dit iemand een paar uur die ruimte wil vrijmaken of zijn Windows-systeem wat wil opschonen – wat, laten we eerlijk zijn, lastiger is dan het zou moeten zijn. Succes!