<?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>mstehle: The CDOs and CDONTS of Messaging Development : Outlook General</title><link>http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx</link><description>Tags: Outlook General</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>FYI: In Outlook 2010 Exchange Client Extensions Are Gone…</title><link>http://blogs.msdn.com/mstehle/archive/2009/05/26/fyi-in-outlook-2010-exhcange-client-extensions-are-gone.aspx</link><pubDate>Tue, 26 May 2009 16:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9641427</guid><dc:creator>mstehle</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/9641427.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=9641427</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=9641427</wfw:comment><description>&lt;P&gt;On the Outlook team blog it was &lt;A href="http://blogs.msdn.com/outlook/archive/2009/05/04/announcing-the-deprecation-of-exchange-client-extensions.aspx" mce_href="http://blogs.msdn.com/outlook/archive/2009/05/04/announcing-the-deprecation-of-exchange-client-extensions.aspx"&gt;announced&lt;/A&gt; recently that Exchange Client Extensions (ECEs) will not work with Outlook 2010.&amp;nbsp; This shouldn’t come as a big surprise, they haven’t been a primary extensibility model for Outlook since Outlook 97-98 days.&amp;nbsp; However, many Outlook developers have continued to maintain their ECEs and Microsoft supports them to work on Outlook versions up to Outlook 2007.&amp;nbsp; Here are the suggestions from the blog post about how to move forward…&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;“To redesign your solution, you should consider the following options:&lt;/EM&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;Rewrite your ECE as a COM Add-in using native or managed code. Unlike ECEs, an add-in represents a strategic extensibility technology that is fully supported in Outlook 2010. Using an Outlook add-in, you can build &lt;/EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb226713.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb226713.aspx"&gt;&lt;EM&gt;Outlook form regions&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; and extend the &lt;/EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/office/aa905530.aspx" mce_href="http://msdn.microsoft.com/en-us/office/aa905530.aspx"&gt;&lt;EM&gt;Office Fluent User Interface&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;. For additional information, please visit the &lt;/EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/office/aa905455.aspx" mce_href="http://msdn.microsoft.com/en-us/office/aa905455.aspx"&gt;&lt;EM&gt;Outlook Developer Portal&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; on MSDN. &lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;Rewrite your ECE as a Windows service application using native code and MAPI. If you are writing a Windows service application, you must use MAPI to access Outlook items rather than the Outlook object model.”&lt;/EM&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9641427" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+Add-Ins/default.aspx">Outlook Add-Ins</category></item><item><title>Now THAT is a shutdown!</title><link>http://blogs.msdn.com/mstehle/archive/2008/10/27/now-that-is-a-shutdown.aspx</link><pubDate>Mon, 27 Oct 2008 23:36:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9019007</guid><dc:creator>mstehle</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/9019007.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=9019007</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=9019007</wfw:comment><description>&lt;p&gt;Steve asked me to link to a &lt;a href="http://blogs.msdn.com/rgregg/archive/2008/10/27/application-shutdown-changes-in-outlook-2007-service-pack-2-beta.aspx" target="_blank"&gt;post from Ryan Gregg&lt;/a&gt; detailing some changes in Outlook 2007 SP 2 Beta.&amp;#160; &lt;a href="http://blogs.msdn.com/stephen_griffin/archive/2008/10/27/when-i-say-shutdown-i-mean-shut-down.aspx" target="_blank"&gt;Here&lt;/a&gt; is what Steve wrote…&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Ryan posted an &lt;/em&gt;&lt;a href="http://blogs.msdn.com/rgregg/archive/2008/10/27/application-shutdown-changes-in-outlook-2007-service-pack-2-beta.aspx"&gt;&lt;em&gt;article&lt;/em&gt;&lt;/a&gt;&lt;em&gt; about some changes we're making in Outlook 2007 SP2. The gist is we're changing Outlook's shutdown behavior to always shutdown regardless of whether there are other running applications using the Outlook Object Model. He's looking for feedback on the logic change, so be sure to send him your comments.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9019007" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>FYI: MSDN Protocol Docs...</title><link>http://blogs.msdn.com/mstehle/archive/2008/07/01/fyi-msdn-protocol-docs.aspx</link><pubDate>Tue, 01 Jul 2008 17:50:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8677344</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/8677344.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=8677344</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=8677344</wfw:comment><description>&lt;p&gt;&lt;font face="Arial" size="2"&gt;Steve posted a &lt;/font&gt;&lt;a href="http://blogs.msdn.com/stephen_griffin/archive/2008/06/30/protocol-docs-rtm.aspx"&gt;&lt;font face="Arial" size="2"&gt;link&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; to the MSDN protocol documentation.&amp;#160; He talks about them &lt;/font&gt;&lt;a href="http://blogs.msdn.com/stephen_griffin/archive/2008/06/11/mfcmapi-does-contacts.aspx"&gt;&lt;font face="Arial" size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; and &lt;/font&gt;&lt;a href="http://blogs.msdn.com/stephen_griffin/archive/2008/05/01/exchange-open-protocol-docs-updated.aspx"&gt;&lt;font face="Arial" size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; as well.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8677344" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/MAPI/default.aspx">MAPI</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Exchange+General/default.aspx">Exchange General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>OOM.NET: Part 5 - Event Planning</title><link>http://blogs.msdn.com/mstehle/archive/2008/06/12/oom-net-part-5-event-planning.aspx</link><pubDate>Thu, 12 Jun 2008 21:43:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8593504</guid><dc:creator>mstehle</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/8593504.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=8593504</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=8593504</wfw:comment><description>&lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;strong&gt;Plan For What You Can Control&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;One of the common scenarios in OOM programming in managed code that required calling GC.Collect() was handling events.&amp;#160; As has been discussed &lt;a href="http://blogs.msdn.com/mstehle/archive/2007/12/07/oom-net-part-2-outlook-item-leaks.aspx"&gt;earlier&lt;/a&gt; in this series, item references need to be released before they go out of scope.&amp;#160; This includes items passed into event handlers.&amp;#160; Take the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.itemsend.aspx"&gt;ItemSend&lt;/a&gt; event for example...&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="code"&gt;&lt;span style="color: green"&gt;// This leaks 'Item'
&lt;/span&gt;&lt;span style="color: blue"&gt;void &lt;/span&gt;app_ItemSend(&lt;span style="color: blue"&gt;object &lt;/span&gt;Item, &lt;span style="color: blue"&gt;ref bool &lt;/span&gt;Cancel)
{
    
}

&lt;span style="color: green"&gt;// This does not leak...
&lt;/span&gt;&lt;span style="color: blue"&gt;void &lt;/span&gt;app_ItemSend(&lt;span style="color: blue"&gt;object &lt;/span&gt;Item, &lt;span style="color: blue"&gt;ref bool &lt;/span&gt;Cancel)
{
    &lt;span style="color: blue"&gt;try
    &lt;/span&gt;{

    }
    &lt;span style="color: blue"&gt;finally
    &lt;/span&gt;{
        System.Runtime.InteropServices.&lt;span style="color: #2b91af"&gt;Marshal&lt;/span&gt;.ReleaseComObject(Item);
    }
}&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;font face="Arial" size="2"&gt;...In most cases you would expect that the caller invoking the delegate and passing 'Item' would be responsible for releasing it since that is where it was created.&amp;#160; However, that is not the case here - 'Item' must be released within the delegate, the caller does not call ReleaseCOMObject().&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;Know The Symptoms&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;font face="Arial" size="2"&gt;The most common symptoms of this kind of leak (especially with the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.itemsend.aspx"&gt;ItemSend&lt;/a&gt; event) are scenarios involving sending meeting requests and meeting updates.&amp;#160; If there is a leak in the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.itemsend.aspx"&gt;ItemSend&lt;/a&gt; event and a meeting request or update is sent out the appointment in the calendar is ultimately leaked.&amp;#160; The user experience goes something like this...&lt;/font&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;font face="Arial" size="2"&gt;Organizer sends a meeting update.&lt;/font&gt; &lt;/li&gt;

  &lt;li&gt;&lt;font face="Arial" size="2"&gt;Organizer makes a change to the appointment item in his/her calendar.&lt;/font&gt; &lt;/li&gt;

  &lt;li&gt;&lt;font face="Arial" size="2"&gt;Outlook prompts the organizer to send a meeting update and save the changes.&lt;/font&gt; &lt;/li&gt;

  &lt;li&gt;&lt;font face="Arial" size="2"&gt;Organizer attempts to send the meeting update or save and close and Outlook throws a warning/error dialog stating that the appointment has been modified elsewhere and cannot be saved.&lt;/font&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;font face="Arial" size="2"&gt;Another common scenario is there is a leak in the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.inspectorsevents_event.newinspector.aspx"&gt;NewInspector&lt;/a&gt; event.&amp;#160; Typically the symptom here is that a user will open a message and close it, then try to open the message again at which time Outlook displays a dialog stating that the &amp;quot;Operation failed.&amp;quot;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;Get Fixes For What You Can't Control&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;font face="Arial" size="2"&gt;There were some scenarios in Outlook 2003 and Outlook 2007 where - even if the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.optionspagesadd.aspx"&gt;OptionPagesAdd&lt;/a&gt; event was the only event handled - users still saw the meeting request experience described above.&amp;#160; To make a long story short the interop assembly is generated by tblimp.exe (more information &lt;a href="http://msdn.microsoft.com/en-us/library/bb644571.aspx"&gt;here&lt;/a&gt;) in such a way that if one event on an interface such as &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.aspx"&gt;ApplicationEvents_11_Events&lt;/a&gt; interface then &amp;quot;underneath the covers&amp;quot; they are all handled - in the case of &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.optionspagesadd.aspx"&gt;OptionPagesAdd&lt;/a&gt; that means &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.itemsend.aspx"&gt;ItemSend&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event.itemload.aspx"&gt;ItemLoad&lt;/a&gt; are handled too.&amp;#160; Because these events are not handled in the AddIn code there is no way to release the reference the items passed to them.&amp;#160; To address this issue, the Outlook team released a fix for Outlook 2003 and Outlook 2007.&amp;#160; Any Outlook install that is using extensive or multiple .NET AddIns should have the following fixes installed to avoid this issue...&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://support.microsoft.com/kb/941275"&gt;Description of the Outlook 2007 post-Service Pack 1 hotfix package: January 28, 2008&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/946207"&gt;&lt;font face="Arial" size="2"&gt;Description of the Outlook 2003 post-Service Pack 3 hotfix package: December 13, 2007&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8593504" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/OOM.NET/default.aspx">OOM.NET</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>OOM.NET: Part 3 - Back to the Basics, MSDN Must Reads</title><link>http://blogs.msdn.com/mstehle/archive/2008/02/18/oom-net-part-3-back-to-the-basics-msdn-must-reads.aspx</link><pubDate>Tue, 19 Feb 2008 00:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7780939</guid><dc:creator>mstehle</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/7780939.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=7780939</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=7780939</wfw:comment><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The Outlook Developer Reference on MSDN has great information on .NET and COM interop which I would consider a prerequisite to any managed code development with Outlook Object Model.&amp;nbsp; It simply isn't enough to know how to accomplish tasks with OOM or to call GC.Collect here and there - it is important to understand the whole story...&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 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb610378.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb610378.aspx"&gt;Introduction to Interoperability Between COM and .NET&lt;/A&gt;&amp;nbsp;- This is a short and sweet run through of COM Interop and sets up a foundation for understanding where some of the issues come from in my previous posts (OOM.NET &lt;A class="" href="http://blogs.msdn.com/mstehle/archive/2007/12/06/oom-net-part-1-introduction-why-events-stop-firing.aspx" mce_href="http://blogs.msdn.com/mstehle/archive/2007/12/06/oom-net-part-1-introduction-why-events-stop-firing.aspx"&gt;Part 1&lt;/A&gt; &amp;amp; &lt;A class="" href="http://blogs.msdn.com/mstehle/archive/2007/12/07/oom-net-part-2-outlook-item-leaks.aspx" mce_href="http://blogs.msdn.com/mstehle/archive/2007/12/07/oom-net-part-2-outlook-item-leaks.aspx"&gt;Part 2&lt;/A&gt;).&amp;nbsp; Be sure to pay attention to the following quote...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;"...a COM client manages an internal reference count provided by &lt;A id=ctl00_rs1_mainContentContainer_ctl02 href="http://go.microsoft.com/fwlink/?LinkId=88442"&gt;&lt;FONT color=#0000ff&gt;IUnknown&lt;/FONT&gt;&lt;/A&gt; to free a coclass, a .NET client relies on the runtime garbage collector provided by the .NET platform to free an object..."&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;...That is why &lt;A href="http://msdn2.microsoft.com/en-us/library/system.runtime.interopservices.marshal.releasecomobject.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/system.runtime.interopservices.marshal.releasecomobject.aspx"&gt;RelaseCOMObject&lt;/A&gt; is so important - in the Outlook world of item in reuse we cannot rely on the runtime garbage collector provided by the .NET platform to free an object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;There is also some 101 type information about what a PIA is found in&amp;nbsp;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb645534.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb645534.aspx"&gt;Why Use the Outlook PIA&lt;/A&gt; - the take away from this is, "Any number of interop assemblies can exist to describe a given COM type. As publisher of the type library, Outlook provides a Primary Interop Assembly (PIA) that contains the official description of the COM-based Outlook object model."&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb646840.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb646840.aspx"&gt;Installing and Referencing the Outlook 2007 PIA&lt;/A&gt;&amp;nbsp;takes the next step to show how to add the reference in Visual Studio.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;The list of classes and interfaces in OOM as seen by VB6 or VBA differ greatly from what is seen in a .NET project&amp;nbsp;- for an explanation of that phenomenon read, &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb609695.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb609695.aspx"&gt;Relating the Outlook PIA with the Object Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;The MSDN documentation hits on some of the points I made in &lt;A class="" href="http://blogs.msdn.com/mstehle/archive/2007/12/06/oom-net-part-1-introduction-why-events-stop-firing.aspx" mce_href="http://blogs.msdn.com/mstehle/archive/2007/12/06/oom-net-part-1-introduction-why-events-stop-firing.aspx"&gt;Part 1&lt;/A&gt; and &lt;A class="" href="http://blogs.msdn.com/mstehle/archive/2007/12/07/oom-net-part-2-outlook-item-leaks.aspx" mce_href="http://blogs.msdn.com/mstehle/archive/2007/12/07/oom-net-part-2-outlook-item-leaks.aspx"&gt;Part 2&lt;/A&gt; of OOM.NET:&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=title&gt;&lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb646475.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb646475.aspx"&gt;Scoping Variables Appropriately in Event Handlers&lt;/A&gt;&lt;!----&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;
&lt;LI&gt;
&lt;DIV class=title&gt;&lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb623945.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb623945.aspx"&gt;Systematically Releasing Objects&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=title&gt;&lt;!----&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;EM&gt;Looking forward to Part 4 of OOM.NET...&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;A &lt;STRONG&gt;huge&lt;/STRONG&gt; area of trouble is in the handling of events and how to structure code and understand the code in the PIA to prevent item leaks.&amp;nbsp; I'll be posting more information on this topic soon - in the meantime read the following two articles for some background information...&lt;/EM&gt;&lt;/P&gt;
&lt;DIV class=title&gt;&lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb610520.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb610520.aspx"&gt;&lt;EM&gt;Connecting to Custom Event Handlers&lt;/EM&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV class=title&gt;
&lt;DIV class=title&gt;&lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb644571.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb644571.aspx"&gt;&lt;EM&gt;Events in the Outlook PIA&lt;!----&gt;&lt;/EM&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV class=title&gt;&lt;!----&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7780939" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/OOM.NET/default.aspx">OOM.NET</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>OOM.NET: Part 1 - Introduction and Why Events Stop Firing...</title><link>http://blogs.msdn.com/mstehle/archive/2007/12/06/oom-net-part-1-introduction-why-events-stop-firing.aspx</link><pubDate>Fri, 07 Dec 2007 01:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6685391</guid><dc:creator>mstehle</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/6685391.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=6685391</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=6685391</wfw:comment><description>&lt;p class="PadderBetweenControlandBody" style="margin: 0in 0in 6pt"&gt;&lt;em&gt;&lt;span lang="EN" style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;; mso-ansi-language: en"&gt;OOM.NET is not a special API set that was created in managed code.&amp;#160; It is the name I've given to a series of posts I'll do about the &amp;#8220;gotchas&amp;#8221; of Outlook Object Model development in .NET.&amp;#160; I've compiled some notes over time of the most common issues, how to resolve them, and why they exist.&amp;#160; I'd love to hear back from you on other issues you face with OOM programming in .NET as well so that I can add them to this series...&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;span lang="EN" style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;; mso-ansi-language: en"&gt;With the introduction of Visual Studio Tools for Office and the maturity of .NET languages in general more and more Outlook developers are using .NET languages like C# and VB.NET.&amp;#160; The nice thing about .NET is that it encapsulates a lot of common functionality into a framework, manages memory, provides a framework for inter-operating with COM, and allows you to quickly write applications with very little concern for how all this happens.&lt;/span&gt;&lt;span lang="EN" style="mso-ansi-language: en"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in"&gt;&lt;strong&gt;&lt;span lang="EN" style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;; mso-ansi-language: en"&gt;The bad thing about .NET is that it allows you to quickly write applications with very little concern for how all that happens...&lt;/span&gt;&lt;/strong&gt;&lt;span lang="EN" style="mso-ansi-language: en"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span lang="EN" style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;; mso-ansi-language: en"&gt;Developers can get caught up in the ease and speed of development in .NET.&amp;#160; They can suffer from an &amp;quot;It Just Works Addiction&amp;quot; - meaning in the bliss of swiftly writing code that just happens to compile and run it is possible to lose sight of what is making everything work.&amp;#160; This mentality simply will not work with Outlook development; especially in .NET because there is just too much that can happen to adversely affect your application.&amp;#160; So on with the show...     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="font-size: 14pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;&lt;font size="2"&gt;Why Events Stop Firing         &lt;p&gt;&lt;/p&gt;       &lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;Typically, the events stop firing problems come from adding an event handler from a locally scoped object or calling ReleaseCOMObject on an object which you are listening to events on.&amp;#160; The code below will eventually stop handling the NewInspector event because &lt;i style="mso-bidi-font-style: normal"&gt;inspectors&lt;/i&gt; is locally scoped here and when GC runs it will get cleaned up thus stopping the event to fire&amp;#8230;      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; ThisAddIn_Startup(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Outlook.&lt;span style="color: #2b91af"&gt;Inspectors&lt;/span&gt; inspectors;        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;inspectors = Application.Inspectors;        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;inspectors.NewInspector += Inspectors_NewInspector;        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;font face="Arial"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;To fix it you would need to make &lt;i&gt;inspectors&lt;/i&gt; a module level variable and call &lt;i&gt;ReleaseCOMObject&lt;/i&gt; within a dispose method or in this case inside &lt;i style="mso-bidi-font-style: normal"&gt;ThisAddIn_Shutdown&lt;/i&gt;.&amp;#160; You wouldn&amp;#8217;t want to call &lt;i&gt;ReleaseCOMObject&lt;/i&gt; on &lt;i&gt;inspectors&lt;/i&gt; within &lt;i&gt;ThisAddIn_Startup&lt;/i&gt; because it would free the underlying COM object and also cause your event to stop firing.      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; Outlook.&lt;span style="color: #2b91af"&gt;Inspectors&lt;/span&gt; inspectors;        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; ThisAddIn_Startup(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;inspectors = Application.Inspectors;        &lt;p&gt;&lt;/p&gt;     &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;inspectors.NewInspector += Inspectors_NewInspector;        &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;; mso-no-proof: yes"&gt;&lt;font face="Arial"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}        &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;However, in &lt;i&gt;Inspectors_NewInspector&lt;/i&gt; you *&lt;b&gt;would&lt;/b&gt;* want to call &lt;i&gt;ReleaseCOMObject&lt;/i&gt; on &lt;i&gt;inspector&lt;/i&gt; once you were done with it.&amp;#160; For example&amp;#8230;      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Inspectors_NewInspector(Outlook.&lt;span style="color: #2b91af"&gt;Inspector&lt;/span&gt; inspector)        &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;try         &lt;p&gt;&lt;/p&gt;       &lt;/span&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;MessageBox&lt;/span&gt;.Show(inspector.Caption);        &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;finally         &lt;p&gt;&lt;/p&gt;       &lt;/span&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Marshal&lt;/span&gt;.ReleaseComObject(inspector);        &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Courier New&amp;#39;"&gt;&lt;font face="Arial"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;p&gt;&lt;/p&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; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 10pt"&gt;&lt;span style="font-size: 10pt; font-family: &amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;"&gt;You wouldn&amp;#8217;t want to call &lt;i&gt;ReleaseCOMObject&lt;/i&gt; until you were done with that particular reference though.&amp;#160; In this case all the work is done within the try/finally block so we can safely release when we are done.&amp;#160; Also, it is highly recommended that you use a try/finally block to release objects in this scenario because it ensure the reference will get released even if there is an exception.&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6685391" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/OOM.NET/default.aspx">OOM.NET</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>FYI: The Outlook Team has a blog</title><link>http://blogs.msdn.com/mstehle/archive/2007/11/05/fyi-the-outlook-team-has-a-blog.aspx</link><pubDate>Mon, 05 Nov 2007 22:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5916498</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/5916498.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=5916498</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=5916498</wfw:comment><description>&lt;P&gt;The Outlook team has a blog now and they just put up a &lt;A class="" href="http://blogs.msdn.com/outlook/archive/2007/11/02/the-outlook-platform-make-outlook-dance-to-your-tune.aspx" mce_href="http://blogs.msdn.com/outlook/archive/2007/11/02/the-outlook-platform-make-outlook-dance-to-your-tune.aspx"&gt;post&lt;/A&gt; about Outlook development and linked to me.&amp;nbsp; So I'll return the favor!&amp;nbsp; It is great to have yet another product team start blogging at MS...good stuff!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5916498" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/FYI/default.aspx">FYI</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category></item><item><title>KB: New Outlook 2007 Development KB Articles...</title><link>http://blogs.msdn.com/mstehle/archive/2007/01/08/kb-new-outlook-2007-development-kb-articles.aspx</link><pubDate>Mon, 08 Jan 2007 22:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1435559</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/1435559.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=1435559</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=1435559</wfw:comment><description>&lt;P&gt;&lt;EM&gt;With new versions of the product come new KB articles, make sure to take a look at this as you begin Outlook 2007 development...&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;929592&amp;nbsp;Known issues with developing Office Outlook 2007 form regions&lt;BR&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929592" mce_href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929592"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;929592&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;929593&amp;nbsp;The known issues with the Microsoft Office Outlook 2007 object model&lt;BR&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929593" mce_href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929593"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;929593&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Update 1-15-2007...&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Here is another KB article related to Outlook 2007 development...&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;/EM&gt;929591&amp;nbsp;Known issues in Office Outlook 2007 when you use custom forms that were created by using earlier versions of Outlook&lt;BR&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929591"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;929591&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Update 1-17-2007...&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Here is another...&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;929590&amp;nbsp;Known issues with the Office Outlook 2007 development platform&lt;BR&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929590"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;929590&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1435559" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/KB/default.aspx">KB</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>FYI: Better Together: A look at how Exchange 2007 and Outlook 2007 work together...</title><link>http://blogs.msdn.com/mstehle/archive/2006/12/04/fyi-better-together-a-look-at-how-exchange-2007-and-outlook-2007-work-together.aspx</link><pubDate>Mon, 04 Dec 2006 19:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1206167</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/1206167.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=1206167</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=1206167</wfw:comment><description>&lt;P&gt;There is a new technet &lt;A class="" href="http://www.microsoft.com/technet/technetmag/issues/2006/12/outlook/default.aspx" mce_href="http://www.microsoft.com/technet/technetmag/issues/2006/12/outlook/default.aspx"&gt;article&lt;/A&gt;&amp;nbsp;written by &lt;SPAN class=clsBio&gt;Michael Khalili, an Exchange PM,&lt;/SPAN&gt;&amp;nbsp;which talks about some of the ways that Exchange 2007 and Outlook 2007 play together better than their older relatives did.&amp;nbsp; The most exciting piece mentioned in this article for me, as an Outlook/Exchange developer, is the Calendaring piece.&amp;nbsp; Of all the APIs we support it seems to me that most of our questions and bugs center around calendaring, any improvements/simplifications in this area are very welcome.&amp;nbsp; Here is an excerpt from the article about prior problems with Free/Busy data...&lt;/P&gt;
&lt;P&gt;"In the past, most calendar logic resided in Outlook. Each meeting update was treated as a separate meeting invitation, which meant the notifications could be accepted out of order. If two meeting updates were sent in quick succession, and a recipient accepted the second meeting update before the first, he might have out-of-date information on his calendar. Furthermore, accessing Outlook information from Smartphones or PDAs could lead to differing free/busy information according to the method by which users viewed the data."&lt;/P&gt;
&lt;P&gt;...been there, done that...&lt;/P&gt;
&lt;P xmlid="PARADECEMBER2006OUTLOOK006"&gt;"The solution was to move all calendar logic from the Outlook client to Exchange Server 2007.&amp;nbsp; When a meeting request is received by the server the meeting is automatically placed on the calendar as tentative until the user chooses to accept or decline the appointment. If a time or location change to the meeting is received, the meeting will be automatically updated and the old invitation marked out of date so users will not accidentally accept it. This logic is consistent among all clients—Office Outlook, Outlook Web Access, Outlook Mobile, or another third-party client—so only the correct, most up-to-date meetings are present."&lt;/P&gt;
&lt;P xmlid="PARADECEMBER2006OUTLOOK006"&gt;...very nice.&amp;nbsp; As Outlook/Exchange developers we are dependant on the information returned from APIs (which in turn comes from the application's proprietary business logic)&amp;nbsp;to present accurate information to the user in our applications.&amp;nbsp; The more Exchange understands or centralizes Outlook's business logic as it relates to calendaring, the more accurate that data, and therefore our applications become...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1206167" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Exchange+2007/default.aspx">Exchange 2007</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Exchange+General/default.aspx">Exchange General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>FYI: Want to build VSTO AddIns for Office 2007?  VSTO 2005 SE Download Available Now!</title><link>http://blogs.msdn.com/mstehle/archive/2006/11/06/fyi-want-to-build-vsto-addins-for-office-2007-vsto-2005-se-download-available-now.aspx</link><pubDate>Tue, 07 Nov 2006 00:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1004728</guid><dc:creator>mstehle</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/1004728.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=1004728</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=1004728</wfw:comment><description>&lt;P&gt;VSTO 2005 SE is a &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86CAB3-6FD6-4955-B979-E1676DB6B3CB&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86CAB3-6FD6-4955-B979-E1676DB6B3CB&amp;amp;displaylang=en"&gt;free&amp;nbsp;download&lt;/A&gt;&amp;nbsp;for&amp;nbsp;Visual Studio 2005 Tools for Office AND Visual Studio 2005 Professional that will allow you to build VSTO AddIns for Office 2007 applications.&lt;/P&gt;
&lt;P&gt;Note if you installed the CTP this summer...&lt;/P&gt;
&lt;P&gt;"&lt;STRONG&gt;VSTO “v3” CTP users:&lt;/STRONG&gt; If you previously installed any of the VSTO “v3” CTPs, you need to completely remove the CTP software from your computer before you install VSTO 2005 SE. Because the CTP’s ability to uninstall itself is very limited and unreliable, we strongly recommend that you restore your system in its entirety from a backup made before any VSTO “v3” CTP software was installed. This will require you to reinstall Visual Studio as well. If VSTO 2005 SE is installed on computers where VSTO “v3” CTP software is installed, or was installed but not removed properly, you may experience various error messages and failures. (If restoring a backup of your computer is not an option, you can try to uninstall Visual Studio 2005 and all related products from your computer, and then install them again. This is not guaranteed to completely remove the CTPs, but it has been reported to be sufficient to enable VSTO 2005 SE to work.) "&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1004728" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/VSTO/default.aspx">VSTO</category></item><item><title>FYI: KC Lemson On Viewing Internet Headers of Mail Messages...</title><link>http://blogs.msdn.com/mstehle/archive/2006/10/27/fyi-kc-lemson-on-viewing-internet-headers-of-mail-messages.aspx</link><pubDate>Fri, 27 Oct 2006 21:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:882373</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/882373.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=882373</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=882373</wfw:comment><description>This &lt;A class="" href="http://blogs.technet.com/kclemson/archive/2006/10/27/quickly-view-the-internet-headers-of-a-message-in-outlook.aspx" mce_href="http://blogs.technet.com/kclemson/archive/2006/10/27/quickly-view-the-internet-headers-of-a-message-in-outlook.aspx"&gt;post&lt;/A&gt; by KC Lemson provides some good sample code to view the internet headers of mail messages in Outlook but also illustrates the huge advantage the Outlook 2007 object model provides with the &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/ms772422.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms772422.aspx"&gt;PropertyAccessor&lt;/A&gt; object.&amp;nbsp; Notice the differences between the Outlook 2007 code which is done completely through OOM compared to the Outlook 2003 code which requires the use of CDO 1.21 to access properties on the message.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=882373" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/FYI/default.aspx">FYI</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>UPDATED: FYI: Looking for Office 2007 Training Materials??</title><link>http://blogs.msdn.com/mstehle/archive/2006/10/24/fyi-looking-for-office-2007-training-materials.aspx</link><pubDate>Tue, 24 Oct 2006 22:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:869991</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/869991.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=869991</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=869991</wfw:comment><description>&lt;P&gt;&lt;A class="" href="http://www.microsoft.com/learning/office2007/default.mspx" mce_href="http://www.microsoft.com/learning/office2007/default.mspx"&gt;Look no further!&lt;/A&gt;&amp;nbsp; In preparation for the &lt;EM&gt;upcoming release of&lt;/EM&gt;&amp;nbsp;&lt;A class="" href="http://www.microsoft.com/office/preview/default.mspx" mce_href="http://www.microsoft.com/office/preview/default.mspx"&gt;Office 2007&lt;/A&gt;&lt;STRIKE&gt; release this Friday&lt;/STRIKE&gt; we have provided a TON of material for anyone interested in learning the new features in Office 2007.&lt;/P&gt;
&lt;P&gt;UPDATE: Here is the &lt;A class="" href="http://www.microsoft.com/presspass/press/2006/nov06/11-062007OfficeRTMPR.mspx" mce_href="http://www.microsoft.com/presspass/press/2006/nov06/11-062007OfficeRTMPR.mspx"&gt;latest&lt;/A&gt; on Office 2007's release to manufacturing...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=869991" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/FYI/default.aspx">FYI</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category></item><item><title>FYI: Exchange Team Blog: Email Archiving in Exchange</title><link>http://blogs.msdn.com/mstehle/archive/2006/10/18/fyi-exchange-team-blog-email-archiving-in-exchange.aspx</link><pubDate>Wed, 18 Oct 2006 23:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:840114</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/840114.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=840114</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=840114</wfw:comment><description>&lt;P&gt;We get a lot of calls relating to custom email archiving solutions with Exchange.&amp;nbsp; A lot of folks seem to set out on their own to create a solution before realizing what solutions come out of the box (see&amp;nbsp;&lt;A class="" href="http://www.microsoft.com/technet/prodtechnol/exchange/2003/library/journaling.mspx" mce_href="http://www.microsoft.com/technet/prodtechnol/exchange/2003/library/journaling.mspx"&gt;Exchange Journalling&lt;/A&gt;).&amp;nbsp;The Exchange team blog has a new &lt;A class="" href="http://msexchangeteam.com/archive/2006/10/18/429216.aspx" mce_href="http://msexchangeteam.com/archive/2006/10/18/429216.aspx"&gt;post&lt;/A&gt; which discusses some of the custom solution options and what problems customers run into then how things will be different or improved in Exchange 2007.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=840114" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Exchange+General/default.aspx">Exchange General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>FYI: Patrick Creehan joins me blogging from the messaging developer support team!</title><link>http://blogs.msdn.com/mstehle/archive/2006/09/28/776116.aspx</link><pubDate>Fri, 29 Sep 2006 00:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:776116</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/776116.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=776116</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=776116</wfw:comment><description>&lt;FONT face=Arial size=2&gt;&lt;A href="http://blogs.msdn.com/pcreehan/default.aspx"&gt;Patrick Creehan&lt;/A&gt;&amp;nbsp;is the latest member of the Messaging Developer Support team to start blogging.&amp;nbsp; Check out his blog as well, he has some cool stuff already.&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=776116" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/FYI/default.aspx">FYI</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Exchange+General/default.aspx">Exchange General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category></item><item><title>FYI: More From Ryan Gregg, Outlook 2007 Development Q&amp;amp;A</title><link>http://blogs.msdn.com/mstehle/archive/2006/09/12/fyi-more-from-ryan-gregg-outlook-2007-development-q-amp-a.aspx</link><pubDate>Tue, 12 Sep 2006 20:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:750867</guid><dc:creator>mstehle</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mstehle/comments/750867.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mstehle/commentrss.aspx?PostID=750867</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mstehle/rsscomments.aspx?PostID=750867</wfw:comment><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Ryan actually published this &lt;A href="http://blogs.msdn.com/rgregg/archive/2006/09/02/737148.aspx"&gt;post&lt;/A&gt; last week but I had yet to link to it.&amp;nbsp; I have been asked many of these questions regarding Outlook 2007 in my support role at Microsoft.&amp;nbsp; Here are some of the questions he addresses...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;"Is there a future for the Outlook view control (OVC)?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial&gt;Have the form controls been improved? &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Arial&gt;Is the IDE for form script any better? &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;How do you envision people debugging code on forms?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Do you see people continuing to use Public folders?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Was work put into improving custom forms management/deployment? &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;OWA/Mobile. Design once, run everywhere is a definite necessity, will this story be improved? &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Is WYSIWYG forms printing supported in Outlook 2007?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Progress and Excitement. Do you think there is a REAL commitment within the Outlook team for extensibility?"&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=750867" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mstehle/archive/tags/Outlook+General/default.aspx">Outlook General</category><category domain="http://blogs.msdn.com/mstehle/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item></channel></rss>