Marvelous reply! This will be very helpful for future case where people would like to know how to bring back a system app without flashing back a backup of sysNAND or in case where they don't have it as this topic is easily found when googling.
Am I right to assume the reason for regular system fw update not installing the app back lays in the current system fw version not containing an update to app in question? That is, if a future fw update comes with an update for that app it will bring the app back? If, so will it depend on whether you removed the ticket or kept it?
I wonder why is that not the case with my AR Games. It's a freshly hacked system, no additional tinkering was done that could have tainted it.
For other system titles and regions, see
[3dsbrew.org] Title list when selectively repairing the 3DS firmware.
The way system updating works is that when a 2DS/3DS connects online to the CDN server, it presents the listings of at least these two (2) database files.
If your 3DS was involved in a previous system update through
Recovery Mode, there is a chance
of a mismatch record keeping has occurred between the
import.db and
title.db. From my observation, Recovery Mode works slightly differently than a regular System Update as it appears to force install system titles that are missing by
title.db but not necessarily adjust the record on
import.db.
- title.db keeps track of system titles and dsiware titles that are actually installed in the 3DS firmware.
- import.db also has a record of the system titles and their versions to compare against for the purpose of any future system updates.
- ticket.db has the collection of tickets regarding the ownership of your system, dsiware, and SD titles.
If there is a mismatch between
title.db and
import.db for a particular system title due to how it was installed or updated, when one goes to uninstall that title in FBI,
title.db may successfully has its record expunged to keep note your 3DS no longer has that title installed. However, FBI might not edit the
import.db to sync with that on the
title.db. The screw-up is that
import.db has that title's installed files listed with different ContentIDs (ex:
00000003.app) whereas the
title.db had it named something else (ex:
00000000.app).
When you go to system update via System Settings, CDN server would check the
import.db and assume (in your case)
AR Games (EUR) is still installed and on the latest version. If it had noticed the title was no longer installed, the next thing it would check is if the presented ticket tied to
AR Games is missing or fake. Fake or nonlegit system tickets would stop the update; missing system tickets (usually) allows the update to goes through. CDN server reinstalling the title would also install a replacement ticket if missing.