Friday, July 1, 2011

The hotfix KB972582 and how it fixes the empty dialog you see when opening "Organize Favorites" in Windows Explorer in XP when IE8 is installed

The KB article itself: http://support.microsoft.com/kb/972582

The download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=972582

If you are wonder what does the title "You receive an empty dialog box when you run the "Rundll32.exe shdocvw.dll, DoOrganizeFavDlg" command on a computer that is running Windows XP or Windows Server 2003 if Internet Explorer 8 is installed" have to do with it, DoOrganizeFavDlg is the export called by BROWSEUI when clicking Tools->Organize Favorites. An update to XP SP2 and Server 2003 SP1 shipped with IE7/8 for these OSes (and incorporated into later service packs of course) updated SHDOCVW and some other related DLLs to add a wrapper to some functions that detected the availablity of IEFRAME and jumped to the IEFRAME version if it existed. IEFRAME was introduced in IE7, and it was key to separating Explorer's UI from IE's UI. Unfortunately the original wrapper for DoOrganizeFavDlg incorrectly always jumped to the original SHDOCVW version making it useless (a one-instruction mistake). This hotfix fixes that. However it does not fix the case where you show the Favorites sidebar using the menus in Explorer then you click Organize..., because in this case SHDOCVW itself calls the internal version of DoOrganizeFavDlg bypassing the wrapper. I know all this because I debugged this issue using IDA and WinDbg.

BTW, on "To resolve this problem, install the most recent cumulative security update for Windows Internet Explorer.", what this really mean is that you can solve this problem by installing the latest cumulative security update for IE6 before you install IE8 (or uninstall IE7 and IE8) to get the updated SHDOCVW.

2 comments:

  1. I have this problem too with some old bookmark syncing software, but unfortunately the hotfix isn't available in Polish :(

    ReplyDelete
    Replies
    1. Try uninstalling IE8 and installing the latest IE6 cumulative update.

      Delete