Thursday, October 24, 2013

Internet Explorer shows a white page instead of a website.


This happens on Windows 7 64 bit running the 32 bit version of IE9 or IE10. This is a very rare problem and not many solutions are given online so I decided to post my own solution that works.

First off - let's eliminate malware and viruses, the system is clean and updated.
Second - a lot of people seem to have a problem with "Hardware rendering" in IE - so we should enable software rendering.


Third - resetting the browser, cleaning temp files and cookies, uninstalling and downgrading to a previous version should be done.

If none of this helps - then come the big guns.

Most people in this case would do a repair installation of Windows, which I think is like killing a mosquito with a shotgun. A repair may bring other problems to your already installed and configured software. So this problem should be dealt with directly using the following method.

The root of this problem is a corrupt DLL file called d2d1.dll which, in this case, is located in the %systemroot%\SysWOW64 folder.
To confirm this we should scan the system for corrupt system files by going into elevated command prompt and running:

sfc /scannow

If the above file is in fact corrupt - SFC may repair it and the problem goes away. But in many cases it does not repair it because the backup copy of this file may also be corrupt. In this case we need to replace it with a "healthy" version.

I have posted a healthy version of this file here. (Use at your own risk, it may not be compatible with your system). This is for Windows 7 Pro 64bit SP1.

Now the tricky part is to replace a system file in a protected system folder. In this case inside the aforementioned SysWOW64 folder. The key to this is to first take ownership of the file inside and then change the file access permissions. So we right click d2d1.dll and go into Properties > Security >Advanced > Owner > Edit. Make your user or the administrators group the owner of the file. Then, while still inside the file properties window, under Security click on Edit and click on the Administrators group or the current user and click Allow: Full control check-box.

This will now enable us to edit or replace the file. Now we rename the file's extention to something like ".old" instead of ".dll" for it to be easily recoverable in case something goes wrong.
Once it's renamed - we can now copy the "healthy" file here. After that's done, no need to restart, just run your IE and it should all go back to normal.

1 comment: