IE Cache Location and Metro App Crash

For very long time I have been allocating a portion of RAM as RAMDrive and pointing temp dir and cache dir there to improve performance and reduce the work for housekeeping. But changing the cache location (aka. “Temporary Internet Files”) of IE browser to a RAM disk could cause trouble to Windows 8/8.1 Metro (aka. “Modern”) apps, which I didn’t figure out until recently.

Update: the problem is also observable in Windows 10.

A Microsoft forum post discussed troubleshooting the problem of “metro app crashes immediately after opening”. But at least it's useless in my case.

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)

Amazon Kindle

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.

Latermark

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 prompts error when linking to Pocket account.

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.

Hyper for Youtube app shows “item unavailable”

Metrotube (cannot play video)

Similar behavior as Hyper for YouTube.

Analysis

Windows 8/8.1 Modern (“Metro”) apps need to read/write the IE cache location and they are forced to work under IE’s Enhanced Protection Mode. This requires the IE cache location to be a NTFS partition residing in 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.