In my previous post (SharePoint + Silverlight Blueprints configuration instructions), I mentioned that I was experiencing some crashes in IE7 while viewing some Silverlight 2 content. I did some troubleshooting and finally the problem seems to be fixed for now (knock on wood).
So in order to troubleshoot it, I’ve used a HTTP debugger called Fiddler (a must have if you are doing web development). One thing that I’ve noticed in my HTTP requests was a call to a go.microsoft.com site (see below). If I refreshed the browser while this HTTP request was still in progress the browser would crash with an Unhandled Exception on npctrl.dll.
This is the output I’ve got on the HTTP request which returned a HTTP 502 status code (more on that later).
This is what Fiddler was showing…
20 502 HTTP go.microsoft.com /fwlink/?prd=12063&plcid=0×409&ar=UPDATE&sar=AUTO&pver=2.0.30226.2&os=19 512 text/html
But wait, I forgot to mention that I was testing this from a VPC (Virtual Machine). One thing that came to my mind right away was that my VPC didn’t have the network card enabled (so I was not connected to the Internet on it). That’s why I think I’ve got 502’s (Bad Gateway). So I’ve tried to enable the network and after I’ve got Internet connection on my VPC the code changed to HTTP status code 302 (Redirection/Found). But I was still experiencing some crashes.
At this point in time my suspicion was more related to the plugin installation since it was crashing on the npctrl.dll, which seems to a wrapper for agcore.dll to run in Firefox (see Dissecting Silverlight). The npctrl.dll is installed on C:\Program Files\Microsoft Silverlight\2.0.30226.2 in Windows, and just to make sure I had the same version on my VPC and on my PC I’ve double checked this folder and it seemed to be right.
Then, I did some HTTP debugging on my own machine (not the VPC) with some Silverlight 2 Beta 1 Samples and some other SL2 samples already on the web and for my surprise the HTTP request to go.microsoft.com was not even showing up. So this made my suspicion on the plugin to grew stronger.
One thing that I forgot to do at this point was to also test these Samples on my VPC. Once I did that I was surprised to see that when I’ve tried to get to these sites, the install Silverlight 2 banner showed up which was strange because I know that it was already installed (so far I was testing only locally, with some local VS2008 project sites and using a local SharePoint site to expose Silverlight content and that didn’t prompt me to install Silverlight 2).
Then I decided to click on the install Silverlight 2 banner from one of the sample sites to have it installed again on my VPC. Once the plugin was installed, I’ve restarted the browser and did some more testing and debbuging.
Surprise ! No more crashes ! I couldn’t see the HTTP request to go.microsoft.com again and everything seems to be ok now.
So, to make a long story short. Here are a few things to double check if you are experiencing some crashes:
-
If you had Silverlight 1.1 installed make sure you uninstall it before installing Silverlight 2 Beta 1 plugin
-
If you are doing Silverlight development and are installing all Silverlight components such as VS2008 tools and SDK, make sure you uninstall all Silverlight 1.1 components.
-
I didn’t experience these crashes using Firefox, only in IE.
-
If you already have Silverlight 2 installed and IE is crashing, try to uninstall/install again.
-
If you are using IE, make sure ActiveX components are allowed for that zone (Tools -> Internet Options -> Security). Some companies do not allow ActiveX components to run specially on Internet zones (this may be set via Group Policies).
Well I hope this can help you do some troubleshooting and fix this problem if you are experiencing it too.
Not sure exactly why this was happening, if it was something related to the npctrl.dll installation, or even the Mime type configured for the plugin.
All I know is that it’s working now and I’m happy !