Windows 8.1 fonts causing IE11 to crash in protected mode

AdamK47

Lifer
Oct 9, 1999
15,682
3,531
136
This one took me a while to figure out. I was browsing some sites yesterday with IE11. The Humble Bundle blog called Humble Mumble and Overclockers.com were two of them. Every time I went to these sites IE11 would crash and crash hard. Firefox and Chrome loaded these pages fine.

I did some trial and error and found that disabling Protected mode allowed these sites to load correctly. This had me worried since I thought there was a virus on my new 8.1 install. Ran a virus check and it came up empty.

It was at this time I had noticed these sites working again without crashing. Protected mode was also enabled. The only thing I had done was change the drive path to my 4TB SSD array from volume mounted "C: \Games" and assigned it drive G: before doing the virus scan. As soon as I moved it back to the volume mounted path of "C: \Games" the crash happened again.

I did some further investigating and found the files that were being read by Windows. Apparently Windows 8.1 likes to automatically add fonts it finds on drives for use with other apps. There were a few games I had installed that had font files. I searched the registry for the exact path of these fonts and sure enough it was in there (don't know the registry path off hand since I'm at work now). I deleted these entries and tried IE11 again. It loaded the problem pages fine without crashing and with protected mode enabled.

My question is, how do I prevent Windows from adding these fonts? More importantly, why is it adding these fonts? Never had this problem with Windows 7. I would hate to always have to check the registry to see if it put another font path in there.
 

code65536

Golden Member
Mar 7, 2006
1,006
0
76
Are you sure the game's installer didn't install these fonts? I'm pretty sure that Windows doesn't just install any random font file it stumble across.
 

AdamK47

Lifer
Oct 9, 1999
15,682
3,531
136
Are you sure the game's installer didn't install these fonts? I'm pretty sure that Windows doesn't just install any random font file it stumble across.

When I was troubleshooting the issue I was moving game installation folders from one location to another in order to determine what files were being read by Windows. It was only after I moved some of the folders and then tried moving them back that Windows started to complain that files were in use. This led me to believe that Windows was adding them to the registry.
 

code65536

Golden Member
Mar 7, 2006
1,006
0
76
When I was troubleshooting the issue I was moving game installation folders from one location to another in order to determine what files were being read by Windows. It was only after I moved some of the folders and then tried moving them back that Windows started to complain that files were in use. This led me to believe that Windows was adding them to the registry.

If a program needs a font and it wants the Windows GDI to render it (which is how most text is rendered), it tells the OS to load the font, which can add the font globally so that the font is accessible to every process on your system (it can also tell the OS to load the font privately, accessible only to that process, but given what you observed, that's not happening here). (Programs that implement their own text rendering, e.g., Acrobat, don't need to do this because they are not using the OS to draw the text.)

Anyway, this doesn't actually install the font, however, because once you reboot the system, the font is not loaded again. A font is "installed" when a special registry key is added to make Windows automatically load the font at bootup. If a program loads the font without adding that reload-me-at-reboot registry key, the font will not persist across reboots. If a program adds the registry key without loading the font, the font won't be available until the system is rebooted. You have to do both for the font to be persistent across reboots and immediately available.

So given how font registration works in Windows (and again, I am all but certain that Windows does not go around randomly registering fonts), a possible scenario is that a program that needed those fonts loaded them publicly, which then made them available to the whole system. If the program did not intend to permanently install them (i.e., set the registry key to auto-load the font at boot), then the program should have unloaded the fonts when it's done with them. But if it doesn't, then the fonts remain loaded in the system even after the program has exited, thus making it appear as if the fonts had become installed, at least until a reboot clears them out.

Anyway, if this is the case, there's then it's the fault of the program for not properly cleaning up after itself (and for not loading the fonts privately in the first place), in which case, your only possible recourses are 1) an angry letter to the developer of that program 2) reboot or 3) whip up a quick program to unload the fonts (via GDI's RemoveFontResource) and thus do the cleanup yourself.
 
Last edited:

AdamK47

Lifer
Oct 9, 1999
15,682
3,531
136
I'm not sure what's causing the font problem in the first place, but most likely it is one of the scenarios you outlined.

It's odd though that I've never had this problem with Windows 7. I've had the same games installed and used IE10 in protected mode just fine. Either Windows 8.1 is doing something different than Windows 7 or IE11's protected mode is doing something different than IE10's protected mode.
 

AdamK47

Lifer
Oct 9, 1999
15,682
3,531
136
I still have my Windows 7 install transfered to another SSD in case I need to go back to it. I may just boot it up and do a comparison.