It looks like the resource package deletion bug was introduced with May 2016 security update (https://support.microsoft.com/en-us/kb/3156421). I have blacklisted that update and so far the issue did not occur in the last two weeks (but uninstalling the update
will not solve the issue if it already has occurred).
Here is a short description of the problem:
When AppX Package Manager installs or updates a package for a user, it calculates the set of
dependent resource files based on chosen UI languages and active DPI scaling.
Then, it downloads the resource package data (manifest and the resource files) from Microsoft servers.
When installing the packages, if the installer sees that there is an "unused" resource package, it will be deleted (as of May 2016 update).
The package update is also triggered on user logon (so, if you change DPI or language and log in, the package update is triggered).
Probably, this change was introduced "to conserve disk space" for resource files that were previously
downloaded, but are no longer needed.
When deleting the packages, they are first moved to "c:\Program Files\WindowsApps\MovedPackages" and then immediately deleted after that.
However, the dependency information for all other user accounts is not updated when deleting the "unused" files - so the resource files are still listed as "used" in c:\ProgramData\Microsoft\Windows\AppRepository\StateRepository*.* files.
Also, the precalculated resource dependencies in both the Registry and in *MergedResource-*.pri files that are generated for each user, e.g. S-1-5-21-1251120248-1320308648-2577036869-1104-MergedResources-14.pri for user with SID 1-5-21-1251120248-1320308648-2577036869-1104
are not updated.
When apps are loaded, the ***MergedResource-*.pri files are loaded first, and since they reference nonexistent resource files (and resource manifests), the app loading fails.
Sometimes, the issue can be resolved by creating a user account, setting the relevant DPI or UI Language, logging out, logging in, and instaling the relevant package from Store.
If the app version from Store matches the registered app version for the impacted user, it will fix the problem for the impacted user.
But, if the app was already updated since that time, the Store version will not match the broken version for the impacted user, so the impacted user will still not be able to run, update or even uninstall the app.
There should be, at the very least, a -Force switch for AppX PowerShell cmdlets that allow package reinstall/redownload/reset regardless of any missing dependencies or inconsistencies.
Or, a special Reset-AppxPackage cmdlet that resets the package to the "factory defaults" and downloads any missing data, like you can always do in Android by clicking "Clear Data/Clear Cache" if you have any problem with an app.
It looks like the June 2016 security update has the package deletion behavior reverted (probably after many complaints), but it still does not automatically redownload previously deleted package data (although that is definitely possible - that data originally
comes from Microsoft servers!).
So, the fix is not really complete.