Internet Explorer not interacting – AJAX handlers- what to do

Ah, the perils of clients.  Recently a client who is running Vista Home Premium on his home laptop asked for my trusted advice on fixing an Internet Explorer problem.  Over the past year I’ve come to enjoy Vista’s relative self healing improvements and other tools for mitigating problems.  This one was a step back in time though.  Not so easy.  Let me explain.

Although web pages would initially display, their interactive content was not interacting …AT ALL.  An additional symptom was that the built in Vista Sidebar gadgets were either not displaying at all or were displaying incorrectly.  The Calendar was a solid orange square and no configuration ability; the Clock was this weird black dial.  The Stock gadget and others wouldn’t even appear.  This was just the kind of keyword search treasure trove I needed to begin my detective sleuthing.  After working my sources over I discovered a number of things, and this revelation is what this post is to record and share.

Before I continue, let me explain that normally using System Restore would have been the method of choice and I’d just jump back behind the problem and move along.  However sometimes people don’t call for help until so much time has passed there is no backup restore available.  This was such a case.  Ahh, the perils of clients.  So off I go old school and actually had to discover the problem, its root causes, and ways to fix them.  In Vista IE is heavily a part of the OS and it cannot simply be repair installed but instead I would have to completely reinstall the OS.  That was like taking a stack of papers off a table with a sledge hammer swing.  So I savored that opportunity as a last resort.

First I’ll list the sources used to fix my specific problems

… and then I am going to post an explanation of AJAX Modules and Handlers that are responsible for web page interactive behaviors.  This currently applies to IE7 and I suspect IE8 when it launches may change this is some way or another; so use the information with your browser version in mind.

Below are the forum threads where the fixes are listed.  I’ll let you read and find them since I can’t link to specific posts in most cases:

Secondly, here is a very useful explanation of AJAX Modules and Handlers from  Microsoft Online Partner Support:

***note I did not perform these steps but rather only followed those above – in any case this is worth trying if the situation is warranted***

Dear Partner,

This is Cindy, I would like to continue assisting you on this issue: some particular coded webpages (typically .aspx) does not behave interactively in IE7 in Vista.

Analysis: ============== Interactive webpage is designed with AJAX modules. If .aspx webpage cannot be interactive, it is possible that the AJAX handlers are corrupt. You can replace AJAX handlers and re-register them. There are several AJAX handlers used by Iexplore.exe:

  • Vbscript.dll for VBScript processing
  • Jscript.dll for Jscript/JavaScript processing
  • Msjava.dll for invocation of the MS Virtual Machine for Java
  • Msxml.dll for rendering XML content
  • Docobj.dll for hosting external documents within the browser window such as Word, Excel, and PowerPoint They are invoked by mshtml.dll to render the interactive webpages.

Troubleshooting: ============== Replace mshtml.dll and all AJAX handlers:

1) All these dll files are under %windir%\system32 folder, firstly to find them and rename as xxx.dll.bak If you cannot rename then with local admin, it is because the current owner of this file is TrustedInstaller. You need to take ownership of this file as Administrators, and grant Full Control permission to Administrators.

A. Assign ownership to Administrators:

  1. Log on as Administrator or user in Administrators group
  2. Locate the xxx.dll, right click it, choose Properties, then Security tab.
  3. Click Advanced, choose Owner tab, click Edit
  4. Choose “Administrators (computername\Administrators)” in “Change owner to” list, and check “Replace owner on subcontainers and objects” box
  5. Click OK to make it take effect

B. Grant Full Control permission to Administrators:

  1. Log on as user in Administrators group
  2. Locate the xxx.dll, right click it, choose Properties, then Security tab.
  3. Click Edit
  4. Choose “Administrators (computername\Administrators)” in the “Group or user names” list
  5. Check “Full control”, and click OK to make it take effect Then you will be able to rename it.

2) Please replace them with the ones from a good machine with same OS and same IE version.

3) Run regsvr32 xxx.dll to register each of them. If any of them cannot be registered, it doesn’t impact anything.

Additional information: ================== Ajax has come to represent a broad group of web technologies that can be used to implement a web application that communicates with a server in the background, it refers specifically to these technologies: “XHTML and CSS for presentation “the Document Object Model for dynamic display of and interaction with data “XML and XSLT for the interchange and manipulation of data, respectively “the XMLHttpRequest object for asynchronous communication “JavaScript to bring these technologies together

Thanks and have a good day! Cindy Cao Microsoft Online Partner Support

Lastly is this suggestion on why this happened also from another Microsoft Partner Support professional:

“Based on my experience, this kind of issue is usually caused by software conflicts, which may lead to IE crash and some dll files are unregister to protect the system. If some IE related updates was not installed properly, it may also cause this kind of issue.” …

Have a nice day! Shawn Shao (MSFT) Microsoft Online Partner Support

Advertisements

2 responses to “Internet Explorer not interacting – AJAX handlers- what to do

  1. Just wanted to tell you all know how much I appreciate your postings guys.
    Found you though google!

  2. This was a tricky one. Glad it helped you as well.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s