ActiveX objects rendered using the <object>, <applet> or <embed> tag in Internet Explorer need to be explicitly enabled before they will run. The explicit step usually requires an extra mouse click or�space bar�and enter key press. The activation restriction was implemented by Microsoft as a remedy to the Eolas Technologies Inc. patent infringement lawsuit.
�
Microsoft has adjusted the way in which browser activation occurs by releasing a software patch to Internet Explorer 912945 to cause the browser to load the ActiveX control in an inactive state by default meaning that the control will respond to programmatic instructions but not to user events.
�
The workaround suggested by Microsoft is to load the ActiveX control from an external script file. Controls loaded in this way are immediately active and do not require any user click. Follow the code below to implement the workaround.
�
- Add�a link to an external file with the "src" attribute in your client page.
<scriptlanguage="javascript"src="mysamplefile.js">
�
- Add an external file to your web project called mysamplefile.js
- In that file, write out the object.
- document.write('<OBJECT id="myControl1" name="myControl1" classid="WindowsActiveX.dll#WindowsActiveX.WindowsUserControl" width=600 height=272 > </OBJECT>');
�
Note: The example illustrates a managed ActiveX control. Unmanaged ActiveX controls would simply need to change the classid.
�
One other workaround is to uninstall the Internet Explorer 912945 patch from Control Panel. However, Microsoft may possibly add the software patch as a cumulative security patch to Windows update automatically. Therefore, this approach is recommended.
�
The details of the Internet Explorer patch may be found here http://www.microsoft.com/technet/security/advisory/912945.mspx