Uninstalling Windows apps seems straightforward enough – you click Uninstall, and the app is gone, right? Well, that’s not always true, at least not for apps packaged in Microsoft's MSIX format, which is the technology behind the Microsoft Store apps.
Traditional installers, like the classic MSI format (short for Microsoft Installer, the technology behind most traditional Windows program installers for decades), work the way you'd expect. Uninstalling deletes the binaries, removes directories, cleans up registry entries, and clears out anything the app left behind. But MSIX is different.
For MSIX apps, Windows breaks an app's lifecycle into four separate steps:
Now, when you click the Uninstall button to delete a Windows app, it calls an API method called RemovePackageAsync (just so there's no confusion, it’s not called “Uninstall” internally), and Windows initially uses it to Deregister the app. Destage, the part that actually deletes anything, only happens if the system determines nothing else still needs those files. Still, if the system determines that the app isn’t referenced anywhere, it will automatically proceed to destage it and remove it for good.
- Stage, which places the app's files on disk
- Register, which connects the app to your specific user account
- Deregister, which disconnects it from your account
- Destage, which actually deletes the files from disk
So, if the system thinks an app is needed somewhere else, it will keep it internally. For example, if another user account on the same machine still has that app registered, removing it from your account only disconnects it from you. You won’t see it anywhere, including Start Menu shortcuts, or in the apps list, but it will still be there.
So, from your perspective, the app looks gone. From the system's perspective, it may not be gone at all, it's just no longer yours to see. This may be noticeable when you see that an app you “uninstalled” doesn't seem to have freed up as much storage space as you expected.
