IE Cache Location and Metro App Crash
For very long time I have been creating RAM disk and pointing temp and cache dirs there to improve I/O performance and reduce unnecessary SSD writes. Since Windows 8, changing the cache location of IE (a.k.a. “Temporary Internet Files”) to a RAM disk could result in crashes of Metro (a.k.a. “Modern”) apps, which I didn’t figure out why until recently. The problem is also observable in Windows 10.
A Microsoft forum post discussed troubleshooting the problem of “metro app crashes immediately after opening”. But it’s not the case here.
Symptom
Here is a list of apps I have found to be affected by the IE cache location:
Amazon Kindle (appear to “crash” / flash exit)
After starting, the app seems to minimize itself to taskbar, and if you click on it, it tries to load but goes minimized again. It crashes but does not exit. On Windows 10 it crashes and exits after staying in splash screen for a minute or so.
Related system error log
Source: AppModel-State Failure to load the application settings for package AMZNMobileLLC.KindleforWindows8_stfe6vwa9jnbp. Error Code: 3
Source: AppHost App crashed with an unhandled Javascript exception. App details are as follows: Display Name:, AppUserModelId: <amznmobilellc .kindleforwindows8_stfe6vwa9jnbp=\"\"> Package Identity: PID:<14204>. The details of the JavaScript exception are as follows Exception Name:, Description: >, HTML Document Path:, Source File Name:, Source Line Number:<11>, Source Column Number:<59191>, and Stack Trace: ms-appx://amznmobilellc.kindleforwindows8/kindle-min.js:11:59191 Anonymous function() ms-appx://amznmobilellc.kindleforwindows8/kindle-min.js:11:55820 Global code .</amznmobilellc>
Latermark (appear to “crash” / flash exit)
The “appear-to-crash” behavior is the same as Kindle’s. I have been in touch with Latermark’s developer (who is very responsive) since I found the app did not work on my machine, and hopefully its next version will tell you some error instead of “flash exit” when such problem is triggered.
[Update] After knowing the cause, the developer has made a page telling you “something unexpected happened” when this problem is triggered.
Related error event:
App crashed with an unhandled Javascript exception. App details are as follows: Display Name:, AppUserModelId: <23234cthedot.Latermark_hxggmq2sf9ec6!App> Package Identity:<23234cthedot.Latermark_3.0.0.0_neutral__hxggmq2sf9ec6> PID:<5248>. The details of the JavaScript exception are as follows Exception Name:, Description:, Source File Name:, Source Line Number:<257>, Source Column Number:<7>, and Stack Trace: ms-appx://23234cthedot.latermark/js/store.js:257:7 get(string) ms-appx://23234cthedot.latermark/js/latermark.js:77:7 _load() ms-appx://23234cthedot.latermark/js/latermark.js:72:5 Anonymous function() ms-appx://23234cthedot.latermark/js/latermark.js:108:3 Anonymous function() ms-appx://23234cthedot.latermark/js/latermark.js:2:2 Global code .
Nextgen Reader (cannot associate with accounts like Pocket)
Nextgen Reader works fine until you try to link your accounts, for example, Pocket, to the app. An error toast notification will show up (like the picture above).
Hyper for YouTube (cannot play video)
If you see some error message from the app Hyper for YouTube like the picture below, it may be caused by you changing the IE cache location.
Metrotube (cannot play video)
Similar behavior as Hyper for YouTube.
Analysis
Windows 8⁄8.1 Modern (“Metro”) apps need to access the IE cache location and they are forced to work under IE’s Enhanced Protection Mode. This requires the IE cache location to be inside a NTFS partition of a disk visible in Disk Management Console (diskmgmt.msc
). Not all RAM disk drivers emulate their drives that way.
Fix
The dumbest way is to change the IE cache location back to default (%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files
).
To keep RAM disk AND have Metro apps work, there are two points to check:
- The RAMDrive must use NTFS filesystem, and
- The drive is accessible in Metro apps. In other words, Open “Run” dialog (Win+R) and type “
diskmgmt.msc
” to open the Disk Management Console, the RAMDrive drive should be visible there.
It’s easy to get the first point with most RAM disk software, but few support the second. One free RAM disk software that does so is SoftPerfect RAM Disk. One should choose NTFS filesystem AND enable “hard disk emulation”, although this dramatically reduces the RAM disk’s performance.