In Internet Explorer 7, you cannot use an application to programmatically enumerate Internet Explorer 7 instances in a desktop other than the default desktop

Article translations Article translations
Article ID: 940998 - View products that this article applies to.
Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
Expand all | Collapse all

On This Page

SYMPTOMS

Consider the following scenario:
  • On a computer that has Windows Internet Explorer 7 installed, you create a new desktop.
  • You use an application to programmatically enumerate the Internet Explorer 7 instances that are opened in this desktop.
In this scenario, the application cannot correctly enumerate these Internet Explorer 7 instances.

Note This problem does not occur in Microsoft Internet Explorer 6.

CAUSE

This issue occurs because of a change in behavior in Internet Explorer 7.

In Internet Explorer 6, the ShellWindows object is associated with the following CLSID:
{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
This object is a COM local server that exists for each desktop. When you use the CoCreate function to create a ShellWindows instance, the instance is bound to the server on the desktop where you create the instance. Therefore, the application can enumerate the Internet Explorer 6 windows in all desktops.

In Internet Explorer 7, the
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\
subkey is added together with the RunAs registry entry. And the value of the RunAs registry entry is set to Interactive User. This change in behavior for Internet Explorer 7 causes the ShellWindows instance to be bound to the server on the default desktop even if you create the instance in other desktops.

WORKAROUND

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

Workaround for Windows XP and for Windows Server 2003

To work around this issue in Windows XP or in Windows Server 2003, follow these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate the following registry subkey, and then click it:
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
  3. Delete the AppID registry entry.
  4. Exit Registry Editor.

Workaround for Windows Vista

To work around this issue in Windows Vista, follow these steps:
  1. Install the MS07-033 cumulative security update for Internet Explorer (KB933566), or install a later cumulative security update for Internet Explorer. For more information about the MS07-033 cumulative security update, click the following article number to view the article in the Microsoft Knowledge Base:
    933566 MS07-033: Cumulative Security Update for Internet Explorer
  2. Install update KB935855.

    Notes
    • This update enables Internet Explorer 7 to run on a desktop other than the default desktop.
    • After you install this update, the FEATURE_MULTI_DESKTOP registry entry will be added under the following registry subkey:
      HKLM\Software\Microsoft\Internet Explorer\Low Rights
      The value of this registry entry is 1.
    • After you install update KB935855, the AppIDFlags registry entry will be added under the following registry subkey:
      HKLM\Sofware\Classes\AppID\{60EE1F45-C0DD-4A1F-AA44-D97424600A16}
      The value of this registry entry is 1.
  3. Restart the computer.

STATUS

This behavior is by design.

MORE INFORMATION

A desktop is a securable object that has a logical display surface. A desktop may contain user interface items such as windows and menus. For more information, visit the following Microsoft Developer Network Web site:
http://msdn2.microsoft.com/en-us/library/ms682573.aspx
For more information about the AppID registry entry, visit the following Microsoft Developer Network Web site:
http://msdn2.microsoft.com/en-us/library/ms682359.aspx

Properties

Article ID: 940998 - Last Review: October 31, 2007 - Revision: 1.2
APPLIES TO
  • Windows Internet Explorer 7 for Windows XP
  • Windows Internet Explorer 7 for Windows Server 2003
  • Windows Internet Explorer 7 in Windows Vista
Keywords: 
kbtshoot kbexpertiseadvanced kbprb KB940998

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com