Certain computers were getting the “Click to Activate and use this Control” prompt when attempting to view reports generated by an .asp script on one of our software provider’s web server. Even after clicking the new window, the window was blank, as in a totally white browser window. Hitting the space bar or enter key didn’t make a difference.
Both Internet Explorer 6 and 7 users had this issue, but we also had users of both versions of the IE browser that did not get this error. All workstations were XPSP2, so I figured that wasn’t an issue.
I verified all browser security settings allowed for ActiveX controls to be run, and ran Microsoft Update to ensure all the IE browser updates were installed. Next I installed the latest versions of Java, Flash, Shockwave, and Adobe Acrobat Reader to make sure those weren’t an issue, but the problem persisted.
I decided to generate this report, and rather than trying to view it in a browser window, I saved it to my hard drive. It saved as a .htm file, and I opened it with notepad. In the file I saw the following line:
crystal files\activexviewer.cab#version=9,2,0,442
I wondered if IE was using the Crystal Reports Viewer, so I went into IE and viewed the installed add-ons, and saw an entry for Crystal Report Viewer Control 9. If I disabled this control and ran the report, I was told the necessary control was not available… so I had figured out which control was causing the issue. I decided the best thing to do would be to uninstall the control and redownload it.
KB 154850 shows how to remove an ActiveX control, but I couldn’t find the control listed in any of the locations they specified. I resorted to googling for the answer to how to remove the Crystal Reports Viewer Control, and came across this page, which pointed me in the correct direction.
Note that these steps were written for Crystal Reports Viewer 8:
To remove a corrupted, unrecognizable, or older version of the ActiveX Viewer:
1. Right-click the Internet Explorer icon, and click ‘Properties’.
2. Click the ‘Settings’ button.
3. Click the ‘View Objects’ button, right-click ‘Crystal Report Viewer Control’, and then click ‘Remove’.
4. Click ‘Yes’ when prompted to remove the control.
5. Close the ‘Downloaded Program Files’ dialog box, click ‘OK’ on the ‘Settings’ dialog box, and then click ‘OK’ on the ‘Internet Options’ dialog box.
6. Search the computer for the following files and manually deregister them:
CRViewer.dll
SwebRS.dll
SViewHLP.dll
ReportParameterDialog.dll
CSelexpt.ocx
XQViewer.dll
====================
NOTE:
Use the following steps to deregister these files:
1. Search for the DLL file.
2. On the ‘Start’ menu, click ‘Run’.
3. Type “regsvr32 \u” in the ‘Run’ box and then drag the DLL file to the ‘Run’ box. The contents of the ‘Run’ box look similar to the following:
regsvr32 \u c:\myfiles\myDLL.dll
Unfortunately for me, none of the .dll files listed above were present on my machine. Plus, the \u is incorrect – it should be /u to unregister a .dll file.
On a hunch I searched my computer for crview*.*, and found a crviewer9.dll located in c:\program files\common files\crystal decisions\2.0\bin directory. I decided to try to unregister that .dll just to see what happened. To do so, I ran the following from a command prompt:
regsvr32 /u c:\program files\common files\crystal decisions\2.0\bin\crviewer9.dll
I restarted Internet Explorer, verified that Crystal Report Viewer no longer appeared in the list of installed add-ons, and once the control re-downloaded, was able to generate the report as expected!
I guess the moral of my story is that if you receive the “Click to Activate and use this Control” prompt, and all the obvious causes have been eliminated, you need to determine which ActiveX control is causing the issue, then reinstall the faulty control.
[updated 12-21-2007]
KB 945007 describes an IE6 and IE7 update that disables the “click to activate” behavior totally.