<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tony Schreiner's WebLog : Internet Explorer</title><link>http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx</link><description>Tags: Internet Explorer</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Download the IE7 Beta 2 Preview!</title><link>http://blogs.msdn.com/tonyschr/archive/2006/01/31/520851.aspx</link><pubDate>Tue, 31 Jan 2006 21:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:520851</guid><dc:creator>tonyschr</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/520851.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=520851</wfw:commentRss><description>&lt;p&gt;&lt;font face=Arial size=2&gt;The &lt;a HREF="/ie/"&gt;IE blog&lt;/a&gt; has &lt;a HREF="/ie/archive/2006/01/31/520812.aspx"&gt;announced the availability&lt;/a&gt; of the first public beta for IE7: &lt;a href="http://www.microsoft.com/windows/ie/ie7/"&gt;IE7 Beta 2 Preview&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;This preview isn't intended to be widely used by the general public, but if you're reading this blog you're probably technical enough to try it. Over the next few weeks I'll post about some of the features I've been working on. Posts on the IE blog will be intended for a wider audience, whereas any I personally make here will be more informal and technical.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=Arial size=2&gt;Last but not least, for general questions and feedback you will get the best response by using the newsgroup for IE7 and file bugs using the instructions provided in &lt;a HREF="/ie/archive/2006/01/31/520817.aspx"&gt;this IE blog post&lt;/a&gt;. (Unfortunately I'm unable to answer everybody's questions when they email me directly.)&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=520851" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>Toolbar Compatibility Debugging Walkthrough</title><link>http://blogs.msdn.com/tonyschr/archive/2006/01/09/511029.aspx</link><pubDate>Tue, 10 Jan 2006 03:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:511029</guid><dc:creator>tonyschr</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/511029.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=511029</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;In the past I’ve found debugging walkthroughs useful for picking up&amp;nbsp;new techniques. In that spirit here’s a quick rundown of a bug I was investigating today that may have some useful tidbits. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;This&amp;nbsp;was a crash in IE that involved a toolbar that I didn’t have the source code for. The issue was that if you clicked in the toolbar’s edit box and later closed the browser, IE would crash.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;It was crashing while trying to call Release() on a pointer to the toolbar and initially looked like a reference counting issue, either in IE or the toolbar code itself. This type of bug can be tricky to track down in your own code, so given that this bug straddles legacy IE code and external toolbar code I closed my door and prepared for the worst. :-)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;I started out by turning on full pageheap using gflags.exe, which is part of the &lt;A href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;standard debugging package&lt;/A&gt;, and repro’d the bug. This was to ensure that the crash wasn't a side-effect of heap corruption, and that&amp;nbsp;I was&amp;nbsp;debugging the right thing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Next I put a breakpoint on the toolbar’s Release(). Since I don't have the source I had to track this down manually:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; kP 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;ChildEBP RetAddr&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eaeab0 0074f7fb xxxxx!xxxx::_xxxxxxx(&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;struct IUnknown * ptb = &lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#ff0000&gt;0x020f3940&lt;/FONT&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; dds &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;0x020f3940&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;020f3940&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;FONT color=#ff0000&gt;10031b44&lt;/FONT&gt; toolbar!DllMain+0x27d24&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;020f3944&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;10031b2c toolbar!DllMain+0x27d0c&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;020f3948&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;10031b18 toolbar!DllMain+0x27cf8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;020f394c&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;10031af8 toolbar!DllMain+0x27cd8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;020f3950&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;10031ad8 toolbar!DllMain+0x27cb8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;020f3954&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;10031f50 toolbar!DllMain+0x28130&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;020f3958&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;00000003&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;[...]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; dds &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;10031b44&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;10031b44&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;1000cc90 toolbar!DllMain+0x2e70&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;10031b48&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;1000cdd0 toolbar!DllMain+0x2fb0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;10031b4c&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;1000cdf0 &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;toolbar!DllMain+0x2fd0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;10031b50&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;1000ce20 toolbar!DllMain+0x3000&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;[...]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;I could have also unassembled the code and traced the logic, but I've found that it's often faster to just use "dds" to dump&amp;nbsp;interesting-looking addresses. "dds" is&amp;nbsp;especially useful for dumping the stack when symbols are incomplete (or the stack is&amp;nbsp;corrupt) and for tracking down objects on on optimized builds where the debugger gets confused. (When you have symbols and dump an address it will be immediately obvious from the vtable whether you're looking at the right object.)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;The IUnknown interface has three methods: QueryInterface(), AddRef(), and Release(), in that order. Given the dump of the vtable I assumed toolbar!DllMain+0x2fd0 was the Release() function and confirmed by unassembling it. It looked right, so I put a breakpoint on just before the return:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; u &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;toolbar!DllMain+0x2fd0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;[...]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;1000ce15 8b06&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;mov&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;eax,[esi]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;1000ce17 5e&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;pop&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;esi&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#ff0000&gt;1000ce18&lt;/FONT&gt; c20400&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ret&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0x4 &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;1000ce1b cc&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;int&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; bp &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;1000ce18&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;and then re-ran the repro. For brevity I’ve left out many of the calls and removed redundant output. ‘eax’ holds the return value of Release() so you can see that it’s winding down to the point of doing the final Release() (at which point the object will delete itself).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; g&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;Breakpoint 1 hit&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#ff0000&gt;eax=00000004&lt;/FONT&gt; ebx=020f39ec ecx=020f395c edx=00000850 esi=020f3d84 edi=00000000&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;eip=1000ce18 esp=01eaf4cc ebp=00000000 iopl=0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nv up ei pl nz na pe cy&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;cs=001b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ss=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ds=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;es=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;fs=003b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;gs=0000&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;efl=00000203&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;toolbar!DllMain+0x2ff8:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;1000ce18 c20400&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ret&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0x4&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; g&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;Breakpoint 1 hit&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#ff0000&gt;eax=00000003&lt;/FONT&gt; ebx=014ab010 ecx=020f395c edx=10031b18 esi=0224000a edi=00000008&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; g&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;Breakpoint 1 hit&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#ff0000&gt;eax=00000002&lt;/FONT&gt; ebx=014ab010 ecx=020f395c edx=10031b44 esi=0224000a edi=00000008&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; g&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;wn IEFRAME&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;CDocObjectView::DestroyViewWindow(): Destroying Host Window&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;Breakpoint 1 hit&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#ff0000&gt;eax=00000001&lt;/FONT&gt; ebx=00000000 ecx=020f395c edx=00803e30 esi=020f3d04 edi=020f9328&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; g&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;Unable to remove breakpoint 1 at 1000ce18, Win32 error 487&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;"Attempt to access invalid address."&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;The breakpoint was set with BP.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you want breakpoints&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;to track module load/unload state you must use BU.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;(564.db0): Access violation - code c0000005 (first chance)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;First chance exceptions are reported before any exception handling.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;This exception may be expected and handled.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;Unable to remove breakpoint 1 at 1000ce18, Win32 error 487&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;"Attempt to access invalid address."&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;The breakpoint was set with BP.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you want breakpoints&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;to track module load/unload state you must use BU.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;STRONG&gt;Ah ha!&lt;/STRONG&gt; This wasn’t what I was looking for, but you can see that before we do the final release&amp;nbsp;-- or crash&amp;nbsp;-- the debugger complains that a breakpoint is set in a module that has been unloaded. The crash happens shortly after this and is simply caused by trying call into the module after it’s been unloaded.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;So why was it unloaded? Let’s put a breakpoint on the module unload and re-run the repro and find out:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; sxe ud:toolbar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New" color=#000080&gt;0:005&amp;gt;&amp;nbsp;g&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp; [...]&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;Breakpoint 1 hit&lt;BR&gt;eax=00000001 ebx=00000000 ecx=020f395c edx=00803e30 esi=020f3d04 edi=020f9328&lt;BR&gt;eip=1000ce18 esp=01eafa98 ebp=00000000 iopl=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nv up ei pl nz na pe cy&lt;BR&gt;cs=001b&amp;nbsp; ss=0023&amp;nbsp; ds=0023&amp;nbsp; es=0023&amp;nbsp; fs=003b&amp;nbsp; gs=0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; efl=00000203&lt;BR&gt;toolbar!DllMain+0x2ff8:&lt;BR&gt;1000ce18 c20400&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x4&lt;/P&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; k&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;*** ERROR: Symbol file could not be found.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Defaulted to export symbols for C:\WINDOWS\system32\kernel32.dll -&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;ChildEBP RetAddr&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;WARNING: Stack unwind information not available. Following frames may be wrong.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eafcf4 7c80aa7f ntdll!KiFastSystemCallRet&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;*** ERROR: Symbol file could not be found.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Defaulted to export symbols for C:\WINDOWS\system32\ole32.dll -&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eafd08 77513442 kernel32!FreeLibrary+0x19&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eafd14 77513456 ole32!CoFreeUnusedLibraries+0xa9&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eafeb8 77513578 ole32!CoFreeUnusedLibraries+0xbd&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eafec8 775133a2 ole32!CoFreeUnusedLibrariesEx+0x2e&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eafeec 007ab40f ole32!CoFreeUnusedLibraries+0x9&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;01eaffb4 7c80b50b xxxxx!xxx::_xxxxxxxx+0x3af&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;It’s being unloaded when IE’s code calls CoFreeUnusedLibrariesEx() when the window is closed. This is code I'm not super-familiar with, but I presume we’re doing it to trigger the unloading of DLLs for BHOs, toolbars ActiveX controls, and so on, to free up memory. However, we still have properly reference counted pointers to the toolbar so it shouldn’t be unloading quite yet. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;According to MSDN CoFreeUnusedLibrariesEx() calls DllCanUnloadNow(), which is supposed to return S_FALSE if the DLL is not yet ready to be unloaded. Let’s set a breakpoint, step through the function, and see what it’s returning in this scenario:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; bp toolbar!DllCanUnloadNow&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; g&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;[...]&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;Breakpoint 0 hit&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;eax=00000000 ebx=00000001 ecx=77606074 edx=00000000 esi=014a6dd0 edi=77606068&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;eip=10008fd0 esp=01eafd20 ebp=01eafd30 iopl=0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nv up ei pl zr na po nc&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;cs=001b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ss=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ds=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;es=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;fs=003b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;gs=0000&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;efl=00000246&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;toolbar!DllCanUnloadNow:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;10008fd0 8b0d3c1c0410 mov ecx,[toolbar!DllMain+0x37e1c (10041c3c)] ds:0023:10041c3c=00000000&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; p&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;[...]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;0:005&amp;gt; p&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#ff0000&gt;eax=00000000&lt;/FONT&gt; ebx=00000001 ecx=00000000 edx=00000000 esi=014a6dd0 edi=77606068&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;eip=10008fdd esp=01eafd20 ebp=01eafd30 iopl=0&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nv up ei pl zr na po nc&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;cs=001b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ss=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ds=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;es=0023&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;fs=003b&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;gs=0000&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;efl=00000246&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;toolbar!DllCanUnloadNow+0xd:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#000080&gt;10008fdd c3&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ret&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;As you can see by looking at ‘eax’ this function is returning 0, which is S_OK. I believe this is the cause of the bug.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;After reviewing recent changes that I had made in IE7 I found that one of them caused us to hold onto the toolbar object longer than we used to. In previous versions of IE we happened to always do the final Release() before calling CoFreeUnusedLibrariesEx(), masking the bug in the toolbar. The fix in this case, for better or worse,&amp;nbsp;was to update the code so that we release earlier like we used to.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial"&gt;Thoughts? Are these types of walkthroughs interesting or useful? If so I’ll do more of them.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=511029" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>Internet Explorer in XP SP2 RC2</title><link>http://blogs.msdn.com/tonyschr/archive/2004/06/15/156787.aspx</link><pubDate>Wed, 16 Jun 2004 05:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:156787</guid><dc:creator>tonyschr</dc:creator><slash:comments>41</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/156787.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=156787</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;First, I'll join everybody else in&amp;nbsp;announcing that&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/winxppro/sp2preview.mspx"&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;XP SP2 RC2 is available for download&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;! If you've put off installing it, now's the time to give it a shot and test all of your favorite applications and web sites. Most of the work recently has been on bug fixes, and compatibility fixes in particular. If there's anything that doesn't work by now it will probably not work in RTM unless &lt;I&gt;you&lt;/I&gt; notify both Microsoft and the vendor (or web site administrator).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Below are a few of the changes in IE for RC2 (since RC1). This list is very incomplete - I'll try to post a follow-up entry or two to cover some of the changes I missed or that are in areas I'm less familiar with.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Information Bar Updates&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;When the Information Bar blocks an ActiveX control, the name and publisher are now included in the warning text. If the control has a visible area in the page, similar text will also be shown in that area, and users can right-click in that space to show the context menu to install the control. This change was made to increase discoverability and help the user make a better decision about whether to proceed to the Authenticode dialog.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.tonyschr.net/images/NewInformationBar.png"&gt;&lt;IMG src="http://www.tonyschr.net/images/NewInformationBar_small.png" border=1&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;We also implemented an application compatibility fix to handle the common scenario where a web site detects that the ActiveX installation failed and redirects to an error page. In this case, users will be shown a version of the Information Bar on the redirected page, and clicking the "Install ActiveX Control" menu will navigate back to the page where the control was suppressed and allow the Authenticode dialog to be shown. The end user experience is not smooth, but this unblocks a large number of web pages that were redirecting on failure.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;As a last resort, holding down the &lt;B&gt;CTRL&lt;/B&gt; key is a universal workaround for pages that have tricky logic that eluded our attempts to &lt;I&gt;unblock&lt;/I&gt; something after it's been suppressed by the Information Bar. This works for ActiveX controls, file downloads, and pop-up windows.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Other minor changes (I don't recall if these were in the last public release or not):&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Users will now receive a dialog the first time the information bar is shown so that it is more discoverable, particularly for people who rely on screen readers and may not otherwise be aware that content will be blocked by modeless UI.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;There's now a close button on the bar just in case it gets in the way.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;There are now two independent security zone settings for whether to suppress the ActiveX install prompt and whether to suppress non user-initiated file downloads.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;When the Information Bar is shown, the cursor briefly changes to an arrow plus the icon that is shown in the bar.&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;We added (and tweaked, and tweaked) sounds for the Information Bar and pop-up blocker.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Manage Add-ons Updates&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The Manage Add-ons dialog now shows more useful columns by default, including the name of the add-on, the publisher, and the file that implements the add-on. You can also choose to display columns for additional information such as the CLSID and the folder that the file is located in.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Pop-up Blocker Updates&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://blogs.msdn.com/jeffdav"&gt;Jeff Davis&lt;/A&gt; can detail the changes here. The primary one that I worked on was to enable ActiveX controls such as Flash launch new windows for user-initiated actions. Previously these were all blocked because IE did not detect mouse clicks or key presses within windowed controls.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;New Pet Peeves Fixed&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The disappearing status bar bug should be gone for good. We also fixed most of the scenarios where the URL you were typing in the address bar would get stomped or disrupted if a navigation happened while you were typing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;(Edit: Made it clearer that these are just changes made between RC1 and RC2. See the official&amp;nbsp;documentation and other blog entries for a more complete list of changes made in SP2.)&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=156787" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>High DPI in IE: Tip &amp; Mystery Solved</title><link>http://blogs.msdn.com/tonyschr/archive/2004/05/05/126305.aspx</link><pubDate>Wed, 05 May 2004 07:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:126305</guid><dc:creator>tonyschr</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/126305.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=126305</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;On &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/omars/archive/2004/05/05/126218.aspx"&gt;&lt;FONT face=Arial size=2&gt;his blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt; (and in a comment on my &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tonyschr/archive/2004/03/23/94391.aspx"&gt;&lt;FONT face=Arial size=2&gt;120 DPI post&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;) Omar points out a &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/highdpi.asp"&gt;&lt;FONT face=Arial size=2&gt;super-secret registry tweak make IE do extra&amp;nbsp;scaling in&amp;nbsp;high DPI mode&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;. IE already adjusts for well-written web pages, but if you're using&amp;nbsp;high DPI and still feeling cramped on some sites,&amp;nbsp;you might want to give it a shot.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I don't like it because it has a tendency to distort graphics, and it makes some&amp;nbsp;fonts &lt;EM&gt;too&lt;/EM&gt; &lt;EM&gt;big&lt;/EM&gt; for my displays, but it's good to know about.&amp;nbsp;I mentioned an alternative in my own comments a few weeks ago, but I suspect not many people&amp;nbsp;saw it.&amp;nbsp;For the occasional web sites that hard code small font sizes, here's a very simple&amp;nbsp;&amp;#8220;per-page zoom&amp;#8221; workaround:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;1) Create a local file (i.e. &lt;FONT face="Courier New"&gt;c:\web\zoom200.htm&lt;/FONT&gt;) that has the following script:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;script language="JavaScript"&amp;gt; &lt;BR&gt;external.menuArguments.document.body.style.zoom="200%"; &lt;BR&gt;&amp;lt;/script&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;2) Add it to the right-click menu in IE, by adding a registry key:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Key: "HKCU\SOFTWARE\Microsoft\Internet Explorer\MenuExt\Zoom 200%" &lt;BR&gt;Value (Default): "c:\web\zoom200.htm"&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Adjust the zoom&amp;nbsp;percentage and file locations as needed and then restart IE. Now when you right click on a page the menu should have a new option to &amp;#8220;Zoom 200%&amp;#8221;. Clicking on that will zoom the entire page, including graphics and (most) controls. A 125% or 150% zoom is probably more reasonable for normal reading; I've created several zoom levels in this way.&amp;nbsp;Unfortunately&amp;nbsp;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;zoom has a few issues with font kerning/spacing, selection, controls, and an overall lack of polish, which is why you don&amp;#8217;t see this exposed directly in the browser yet.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=126305" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Random/default.aspx">Random</category><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>Internet Explorer Wiki</title><link>http://blogs.msdn.com/tonyschr/archive/2004/04/17/115370.aspx</link><pubDate>Sun, 18 Apr 2004 02:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:115370</guid><dc:creator>tonyschr</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/115370.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=115370</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Channel9 now has a section dedicated to IE. Jump on in!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://channel9.msdn.com/wiki/default.aspx/Channel9.InternetExplorerFeedback"&gt;&lt;FONT face=Arial size=2&gt;http://channel9.msdn.com/wiki/default.aspx/Channel9.InternetExplorerFeedback&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=115370" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>IE in XP SP2 (Part 4): Opting-in to IE Security Features</title><link>http://blogs.msdn.com/tonyschr/archive/2004/03/30/104446.aspx</link><pubDate>Wed, 31 Mar 2004 02:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:104446</guid><dc:creator>tonyschr</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/104446.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=104446</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Many of the security features I've mentioned in previous entries are opt-in, so if you have a custom application that hosts the web browser control you won't automatically be impacted by them. But what about the many great applications that host the web browser control, such as &lt;A href="http://www.myie2.com/"&gt;MyIE2&lt;/A&gt;, &lt;A href="http://www.avantbrowser.com/"&gt;Avant Browser&lt;/A&gt;, or &lt;A href="http://www.irider.com/"&gt;iRider&lt;/A&gt;? In those cases the developer may want to turn on some or all of the new security features during install. Advanced users can do this too.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The easiest way to enable the IE security features for an application is to use the "FeatureControl" registry keys described on the &lt;A href="http://www.microsoft.com/technet/prodtechnol/winxppro/sp2preview.mspx"&gt;XP SP2 RC1 Preview&lt;/A&gt; site, with a more complete list on &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/workshop/security/szone/reference/enums/INTERNETFEATURELIST.asp"&gt;MSDN&lt;/A&gt;. As an example, lets say you use MyIE2 and want to opt-in to the Information Bar, block non-user-initiated file downloads, block ActiveX install prompts, and lock down the Local Machine Zone. Use regedit to set the following values:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_SECURITYBAND]&lt;BR&gt;"MyIE.exe"=dword:00000001&lt;BR&gt;&lt;BR&gt;[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_RESTRICT_ACTIVEXINSTALL]&lt;BR&gt;"MyIE.exe"=dword:00000001&lt;BR&gt;&lt;BR&gt;[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_RESTRICT_FILEDOWNLOAD]&lt;BR&gt;"MyIE.exe"=dword:00000001&lt;BR&gt;&lt;BR&gt;[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN]&lt;BR&gt;"MyIE.exe"=dword:00000001&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;You can also add these in HKLM if you want them to affect all users. After adding these registry keys restart MyIE and navigate to a web site that tries to do one of these things... &lt;B&gt;Information Bar&lt;/B&gt;!&lt;BR&gt;&lt;BR&gt;Similarly, let's say that you work in a company that has a mission critical application built on IE that is broken because of one of these security features. Using the same technique you can selectively disable them for the iexplore.exe or explorer.exe processes until you are able to update the application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Curiously, in writing this blog I discovered that Avant Browser is also named "iexplore.exe", so by default it will inherit all of the IE security features. So is that a feature or a bug?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Reminder: This is preliminary information and subject to change. This isn't official documentation, just stuff I think people will find interesting.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=104446" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>IE in XP SP2 (Part 3): Web Site Compatibility</title><link>http://blogs.msdn.com/tonyschr/archive/2004/03/30/102248.aspx</link><pubDate>Tue, 30 Mar 2004 07:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:102248</guid><dc:creator>tonyschr</dc:creator><slash:comments>20</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/102248.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=102248</wfw:commentRss><description>&lt;FONT face=Arial size=2&gt;See Also: &lt;A href="http://blogs.msdn.com/tonyschr/archive/2004/03/21/93430.aspx"&gt;Authenticode - No, and never again!&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/tonyschr/archive/2004/03/21/93551.aspx"&gt;Information Bar - Stopping the modal dialog madness&lt;/A&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://www.microsoft.com/windowsserver2003/compatible/appcompat.mspx"&gt;Microsoft&lt;/A&gt; &lt;A href="http://blogs.msdn.com/oldnewthing/archive/2004/02/11/71307.aspx"&gt;cares&lt;/A&gt; &lt;A href="http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx"&gt;a&lt;/A&gt; &lt;A href="http://blogs.msdn.com/oldnewthing/archive/2003/12/24/45779.aspx"&gt;lot&lt;/A&gt; about application compatibility. So does the IE team, but we have an additional burden: web site compatibility. I think I can safely say that there are more web sites (intranet and internet) than there are applications, and many of them are built in a way that is closely tied to specific IE functionality.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;While we really try to avoid making changes that affect compatibility, security is one thing that takes precedence. This means that with the large number of security fixes and features in XP SP2 some web sites will break. Between now and RTM things should get a little bit better, but we can't provide workarounds for every web site, and even when we can provide workaround the experience may not be as smooth as it was before.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;In other words, if you're a web site developer or you have an application that hosts the web browser control &lt;B&gt;&lt;FONT color=#ff0000&gt;you should strongly consider installing XP SP2 RC1 to test it out&lt;/FONT&gt;&lt;/B&gt;. Similarly, if your users are reporting bugs, don't discount them because they're running a pre-release version of XP SP2.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Below are some common types of problems that you should try to avoid.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Authenticode&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;As noted in earlier posts, IE no longer immediately launches the Authenticode dialog when it encounters an &amp;lt;OBJECT&amp;gt; tag. Instead, there is a more subtle non-modal piece of UI known as the Information Bar that lets the user know a control is present. This causes problems when web sites specifically rely on there being a modal dialog that blocks the web page. Example issues:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Scripting an ActiveX control immediately after instantiating it, assuming the user will install it. (The user will get a script error, as they would if they clicked "No" pre-SP2.)&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Detecting that the ActiveX control wasn't successfully installed and navigating to an error page. In XP SP2 you'll navigate away from the page that gives the user the ability to install the control via. the modeless UI.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Having the first instance of the ActiveX control after a form submit. In order for the user to install the control they now have to refresh the page, potentially doing a second submit. (Bonus points if the second form submit causes a duplicate purchase of an expensive product.)&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Fortunately for web developers, ActiveX controls only need to be installed once. Make that experience work and you don't have much else to worry about here.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Pop-up Windows (non-user-initiated)&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The best thing is to simply avoid showing pop-up windows. This shouldn't be news to anybody as there are literally dozens of pop-up blockers out there (in addition to being built into most major 3rd party browsers), but we've encountered plenty of sites that don't function well when pop-ups are blocked. Example issues:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Redirecting when a pop-up is blocked.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Instantiating an ActiveX control from a pop-up, especially if you close the window if it fails.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Having one pop-up launch another pop-up in another domain. (Bonus points if the second pop-up attempts to install an ActiveX control or download a file, and the chain of pop-ups does a cascading close when the control is blocked.)&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;One-time pop-ups that the user needs to see, but can't be replayed even after refreshing the page.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Downloads&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;As noted in earlier posts, non-user-initiated downloads are blocked by default. This is something I haven't seen other browsers do and it may require a few download sites to adapt. Fortunately there's plenty of time before most users will have XP SP2. Example issues:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Instead of launching the download directly, using the link to navigate to a page that kicks off the download using a timer.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Creating a timeout, after which the server refuses to cough up the file. I've seen pages where I can start the download if I click the Information Bar within five seconds, but not after that.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Launching a download from a pop-up window.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;HTML Dialogs&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The Information Bar is a component of the web browser control and will not show up if you host mshtml directly, therefore some of the above items may be blocked outright with easy no end-user workaround. showModalDialog() and showModelessDialog() are where most web sites will encounter this.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;MIME Type Handling&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I'm not as familiar with this feature, I've run into problems caused by the security restrictions on a few web sites. The primary issue is servers that are misconfigured to send the type "text/plain" for binary file types such as streaming video or music.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Local Machine Zone Scripting&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;As mentioned in part 2, this is one of the most impactful changes. Again, I'm not intimately familiar with this feature, but if you're doing any kind of scripting from local HTML files that get launched in Internet Explorer (or shell Explorer) you should look into the &lt;A href="http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/winxpsp2.mspx"&gt;documentation for XP SP2 RC1&lt;/A&gt; for how to use "mark of the web" and other mitigations.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Of special note here are Explorer Bars and Desk Bands. We've seen several instances where these require the user to use the Information Bar to unblock script/content. In some cases the Information Bar is barely clickable due to the size.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=102248" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>IE and Shell teams are hiring</title><link>http://blogs.msdn.com/tonyschr/archive/2004/03/29/102097.aspx</link><pubDate>Tue, 30 Mar 2004 01:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:102097</guid><dc:creator>tonyschr</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/102097.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=102097</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Want to work in one of the best teams at Microsoft? Both the Shell (as in Explorer, not cmd.exe (or Monad)*) and Internet Explorer teams&amp;nbsp;are hiring &lt;A href="http://www.microsoft.com/careers/careerpath/technical/softwaredevelopment.aspx"&gt;SDE&lt;/A&gt;s and &lt;A href="http://www.microsoft.com/careers/careerpath/technical/softwaretesting.aspx"&gt;SDET&lt;/A&gt;s.&amp;nbsp;Heck, maybe &lt;STRONG&gt;you&lt;/STRONG&gt; could be the one who helps implement tabbed browsing,&amp;nbsp;rendering transparent PNG files, or CSS 2.0.**&amp;nbsp; :-)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Microsoft is hosting an &lt;A href="http://blogs.msdn.com/jobsblog/archive/2004/03/25/96359.aspx"&gt;Interview Roadshow&lt;/A&gt; and will be holding interviews &lt;A href="http://blogs.msdn.com/jobsblog/articles/96160.aspx"&gt;for these positions in the New York area on April 26th-28th&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;* Who knows, they might be hiring too.&lt;BR&gt;** Standard disclaimer applies.&amp;nbsp;I really don't know &lt;EM&gt;exactly&lt;/EM&gt; what you would be working on, but these got your attention didn't they?&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=102097" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>Security prompt on downloaded files in XP SP2</title><link>http://blogs.msdn.com/tonyschr/archive/2004/03/21/93664.aspx</link><pubDate>Mon, 22 Mar 2004 03:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:93664</guid><dc:creator>tonyschr</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/93664.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=93664</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;In a response to my &lt;A href="http://blogs.msdn.com/tonyschr/archive/2004/03/21/93430.aspx"&gt;first blog entry&lt;/A&gt; on IE in XP SP2, &lt;A id=Comments.ascx_CommentList__ctl8_NameLink href="http://tom.me.uk/" target=_blank&gt;&lt;FONT color=#0000ff&gt;Tom Gilder&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;notices another new security prompt on downloaded files for XP SP2:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;BLOCKQUOTE&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;Also, whilst on the subject of XP SP2, if you download a signed EXE to the desktop and run it, it gives you a security dialog. But if you do the same with an unsigned EXE, it runs it without a prompt - is this a bug?&lt;BR&gt;...&lt;BR&gt;Er, actually, ignore that - now seems to be working again. But if you save an EXE locally and then click open on the completed download dialog, it never shows any of the security warnings, now that surely is a bug? :) &lt;/FONT&gt;&lt;/I&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;This functionality is similar to the prompt that is shown when you immediately run an executable from the download prompt in IE. If you are using NTFS, downloaded files will now be marked with information about the zone the file originated from. The shell team did some work to extend ShellExecute so that it will prompt when you later run a file that was downloaded and saved from the internet. As with the secondary download prompt, this is defense in depth and should be used to verify the publisher of the executable, but it is &lt;I&gt;not&lt;/I&gt; a security prompt that you can rely on to always protect you from running dangerous files. For example, you could download a .cmd file from a web site that formats your hard drive or erases all of your personal files, and you may not get the secondary prompt.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;So regarding the first potential issue, my guess is that in one case the file was saved to an NTFS partition and in the other case it was either saved onto a FAT32 partition or was copied in a way that caused it to lose the zone information. If this is not the case, please drop me an email or file a bug report through the standard channels. The second issue certainly was a bug. It has been fixed but did not make the RC1 build.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I'm interested in hearing peoples opinions on the value of this feature and how we could make it more useful (and secure) in the future.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=93664" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>IE in XP SP2 (Part 2): Information Bar - Stopping the modal dialog madness</title><link>http://blogs.msdn.com/tonyschr/archive/2004/03/21/93551.aspx</link><pubDate>Sun, 21 Mar 2004 20:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:93551</guid><dc:creator>tonyschr</dc:creator><slash:comments>37</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/93551.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=93551</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;See Also: &lt;A href="http://blogs.msdn.com/tonyschr/archive/2004/03/21/93430.aspx"&gt;Part 1: Authenticode - No and never again!&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The Information Bar is a new piece of UI that shows up when potentially dangerous actions on a page have been blocked. It appears between the toolbar and the content window, and looks a bit like the bar that appears in Outlook 2003 and MSN 8/9 to block images from email messages.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=Arial size=2&gt;&lt;IMG src="http://www.tonyschr.net/images/InformationBar1.png"&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The following are some of the actions blocked by the Information Bar.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;ActiveX Install Prompts&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;In Part 1 I discussed some of the changes made to Authenticode to enhance usability and allow you to block publishers you don't trust. What I didn't mention is that in most cases you won't even see the dialog anymore, because the Information Bar will appear first!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;If you're like me, you're wary about installation dialogs for a couple of reasons. First, there's always the possibility you might miss-click and accidentally install something that could be spyware/malware. Next, even though &lt;I&gt;you&lt;/I&gt; know not to install unsolicited software, do your friends and family that use your computer understand this? Also, what happens when they stray from mainstream sites and reach a malicious page that bombards them with multiple ActiveX install prompts in an attempt to trap them into installing the software? We've changed some of the plumbing for Authenticode to help prevent multiple prompts, and you can now hold down Esc to both cancel the dialog and stop loading the page, but the the Information Bar goes further by simply not showing the dialog unless you request it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;When you click the bar you're presented with a menu from which you can install the ActiveX control. This temporarily turns off the block and refreshes the page, at which point you will get the Authenticode dialog.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;One case that will bypass the Information Bar in this scenario is when a page is using a control that is newer than the one you already have installed. Since you have already trusted the software we permit the Authenticode dialog to show immediately in order to promote upgrades, particularly because upgrades often contain security fixes. A control will only be considered an upgrade if it uses the same CLSID as a control that is installed &lt;I&gt;and&lt;/I&gt; it has been signed with the same certificate as the installed control. This helps prevent malicious sites from bypassing the Information Bar by making their control look like an upgrade.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Non-user-initiated Download Prompts&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Like ActiveX, if a page tries to push a file download on you, again raising the possibility that you will run (or save and later run) unsolicited software, it will be blocked by the Information Bar. The logic for whether to block downloads is similar to the logic for blocking pop-up windows, so if you directly click a link you'll get the file download dialog unimpeded. Some download sites will have to adapt to this new behavior.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;On a side note, we have also turned on the option to verify the signature on certain types of files such as EXEs. This means that when you run software from the download dialog you may get a secondary prompt that shows the same information as the Authenticode dialog (i.e. name and publisher from the digital signature). This prompt helps certify that the file is, indeed, from who it says it is from. File attachments in Outlook Express and a few other scenarios will get the same treatment.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Blocked Pop-up Windows&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;As with blocked downloads, &lt;A href="http://blogs.msdn.com/jeffdav"&gt;Jeff Davis&lt;/A&gt; is much more qualified to talk about this, but I'll mention a couple of things.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;First, the pop-up blocker is now on by default! When a pop-up window is blocked the Information Band will appear, and from there you replay the pop-ups, always allow pop-ups for the site, and configure the pop-up blocker. The first thing I do from here is turn off the Information Bar for pop-ups. They're so common, and so infrequently wanted, that I prefer the lighter weight option of just showing the status bar icon.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;ActiveX Control Blocked Errors&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;If you've ever tried to browse the web with elevated security settings (or on Windows 2003 server) you know that it can be a frustrating experience because of the frequent message boxes stating that "An ActiveX control has been blocked...". Now this'll be pulled into the Information Bar, giving you a less intrusive user experience. Unlike most of the other items in Information Bar, this is not actionable. There is currently no way to temporarily lower your security settings to get the ActiveX install prompt.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;This also means that if you're really paranoid, install the interesting/useful ActiveX controls like Flash, and then to go "Tools/Internet Options...", "Security" tab, "Custom Level" (for Internet), and set "Download signed ActiveX controls" to Disable. Now you have no chance of accidentally installing ActiveX controls &lt;I&gt;and&lt;/I&gt; the browser is still usable.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Local Machine Zone Lockdown&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Local Machine Zone Lockdown is one of the most impactful security mitigations in IE for XP SP2. It deserves an entire blog entry (or several), but, briefly, LMZ Lockdown affects the explorer.exe and iexplore.exe processes, and places severe restrictions on on things such as executing script and running ActiveX controls in the local machine zone (i.e. a local .html file). When the lockdown is in effect you will see the Information Bar with a menu item that lets you temporarily disable the lockdown by reverting to the old Local Machine Zone settings for that instance of the browser.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;----&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;That's all for now. Note that there may be more (or fewer) actions blocked by the Information Bar in the future, and I haven't necessarily covered them all.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;In designing and building these IE security features we've spent a lot of time trying to find the right balance between allowing sites to do what they need (preserving site compatibility), and giving the users more control. This is a very fine line; anything we do to stop the "bad guys" also has the potential to break the "good guys" if they are doing something similar, but for legitimate reasons. Between now and RTM you can expect site compatibility to get a bit better as we implement (safe) workarounds for common scenarios, but if you're a web developer you should not rely on it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Do you think this will make browsing the web more secure? What about reducing the proliferation of spyware/malware?&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=93551" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>IE in XP SP2 (Part 1): Authenticode - No, and never again!</title><link>http://blogs.msdn.com/tonyschr/archive/2004/03/21/93430.aspx</link><pubDate>Sun, 21 Mar 2004 09:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:93430</guid><dc:creator>tonyschr</dc:creator><slash:comments>25</slash:comments><comments>http://blogs.msdn.com/tonyschr/comments/93430.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tonyschr/commentrss.aspx?PostID=93430</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;As you probably know by now, XP SP2 RC1 is publicly available at &lt;A href="http://www.microsoft.com/technet/prodtechnol/winxppro/sp2preview.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/winxppro/sp2preview.mspx&lt;/A&gt;. Over the next week or so I'll give an overview of a few of the security features the browser UI team has been working on.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The first I'll mention is the revamped Authenticode dialog:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://www.tonyschr.net/images/Authenticode1.png"&gt;&lt;IMG src="http://www.tonyschr.net/images/Authenticode1_small.jpg" border=0&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Besides the overall cleanup (the old dialog was difficult for many people to understand), the most noticeable enhancement is the addition of the "Never install software from..." radio button which lets you (finally!) blacklist publishers you don't like. After you've blacklisted a publisher you'll never again be prompted to install an ActiveX control signed with that publisher's certificate. Instead, a harmless icon will show in the status bar to indicate that a control has been blocked.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=Arial size=2&gt;&lt;IMG src="http://www.tonyschr.net/images/Authenticode2.png"&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;If you click the status bar icon you'll be brought to the Manage Add-ons dialog, another new security feature in IE which gives you control over all types of browser add-ons including ActiveX controls, Browser Helper Objects, and Toolbars. From here you can de-blacklist&amp;nbsp;the publisher of a control that has been recently blocked, but the main purpose is to let you enable and disable add-ons that may be spyware/malware or&amp;nbsp;causing crashes or other undesirable behavior. You can also get to this dialog from the "Tools/Manage Add-ons..." menu.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="http://www.tonyschr.net/images/ManageAddons.png"&gt;&lt;IMG src="http://www.tonyschr.net/images/ManageAddons_small.jpg" border=0&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;There are quite a few security tweaks to Authenticode in addition to what I've mentioned above.&amp;nbsp;One that you may eventually get blocked by is the change to block the installation of invalidly signed ActiveX controls.&amp;nbsp;A control usually gets into this state as the&amp;nbsp;result of file corruption or tampering, and as such they are no more trustworthy than unsigned controls which have always been blocked in the Internet and Intranet zones.&amp;nbsp;Although invalidly signed controls are uncommon, they're not as rare as they should be because the old Authenticode dialog just gave a text warning and still allowed you to install the control. For this reason we've added&amp;nbsp;a setting that allows you to bypass the new block -- primarily for corporate intranet scenarios where mission-critical apps may have been deployed with invalidly signed controls (we had a few of these ourselves) --&amp;nbsp;but I'm not going to tell you where it is because you shouldn't turn it on.&amp;nbsp; :-)&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=93430" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tonyschr/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item></channel></rss>