If there is a user control on Active Desktop, and the shell is shut down, an access violation occurs in Internet Explorer.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
This bug was corrected in Visual Studio 6.0 Service Pack 3.
For more information about Visual Studio service packs, please see the following articles in the Microsoft Knowledge Base:
194022
(http://support.microsoft.com/kb/194022/EN-US/
)
INFO: Visual Studio 6.0 Service Packs, What, Where, Why
194295
(http://support.microsoft.com/kb/194295/EN-US/
)
HOWTO: Tell That Visual Studio 6.0 Service Packs Are Installed
Steps to Reproduce Behavior
- Start a new ActiveX Control project in Visual Basic. Leave the default name Project1. UserControl1 is created by default.
- Compile the project to generate Project1.ocx, and save the project.
- Use the Package and Deployment Wizard (PDW) to create an Internet download package.
- If not already installed, add the Windows Desktop Update component. From the Control Panel, click Add/Remove Programs, and select Microsoft Internet Explorer 4.0. Click Add/Remove and then select the appropriate option.
- Right-click the desktop and select Properties from the shortcut menu.
- Select the Web tab from the Display Properties dialog box.
- Make sure View my Active Desktop as a Web page is selected, and click New.
- Click No in the next dialog box, and then browse to the .htm page hosting our control (Project1.htm).
- Select Project1.htm and click OK. You should see that the UserControl is now part of the desktop.
- Close the shell either by logging off or selecting Shut Down from the Start button.
You will see either an Access Violation in the Explorer process at a location where the Msvbvm60.dll was loaded or a dialog box stating the Explorer is not responding. If the user turns off the Active Desktop before shutting down the shell, then this problem will not occur.