<?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>Brijs Blogging... Looking Beyond the Obvious</title><link>http://blogs.msdn.com/brijs/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Microsoft Office 2010 beta is available to download</title><link>http://blogs.msdn.com/brijs/archive/2009/11/19/microsoft-office-2010-beta-is-available-to-download.aspx</link><pubDate>Fri, 20 Nov 2009 00:41:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925907</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9925907.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9925907</wfw:commentRss><description>&lt;p&gt;I am very excited to share that Microsoft &lt;a href="http://www.microsoft.com/presspass/presskits/2010office"&gt;announced&lt;/a&gt; the public beta release of Office 2010, SharePoint Server 2010, Visio 2010, Project 2010, Office Web Apps for business customers, and Office Mobile 2010. &lt;/p&gt;  &lt;p&gt;If you are developing application based on Outlook; then here are few links related to developing applications for Outlook 2010:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ee692174(office.14).aspx" href="http://msdn.microsoft.com/en-us/library/ee692174(office.14).aspx" target="_blank"&gt;What's New for Developers in Outlook 2010&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee692173(office.14).aspx" target="_blank"&gt;Programming the Outlook 2010 Solutions Module&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee692172(office.14).aspx" target="_blank"&gt;Extending the User Interface in Outlook 2010&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you are looking for resources to learn more about Office 2010. Then the Office 2010 Developer Workshop includes videos and presentations @ &lt;a href="http://channel9.msdn.com/learn/courses/office2010/" target="_blank"&gt;Office 2010 Workshop&lt;/a&gt;. This content is designed to help you get started developing solutions, from Add-ins to full featured Office Business Applications (OBAs), using Visual Studio 2010 with Office 2010 and SharePoint 2010 as the core platform.&lt;/p&gt;  &lt;p&gt;So, what are you waiting for? hit the road with &lt;a href="http://channel9.msdn.com/learn/courses/Office2010/RoadmapUnit/" target="_blank"&gt;Office 2010 Developer Roadmap&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;And to complement it we can download &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=A80DFB5D-51C6-4778-8656-A9FF29D3A132&amp;amp;displaylang=en" target="_blank"&gt;Microsoft Visual Studio 2010 Professional Beta&lt;/a&gt; and refer to &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/86bkz018(VS.100).aspx" target="_blank"&gt;Visual Studio 2010 - What's New in Office Development&lt;/a&gt; as well. &lt;/p&gt;  &lt;p&gt;Enjoy Learning!!!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925907" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Download/default.aspx">Download</category><category domain="http://blogs.msdn.com/brijs/archive/tags/FYI/default.aspx">FYI</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2010/default.aspx">Outlook 2010</category></item><item><title>Exchange Server 2007 SP2 Update Rollup1 is available to download</title><link>http://blogs.msdn.com/brijs/archive/2009/11/19/exchange-server-2007-sp2-update-rollup1-is-available-to-download.aspx</link><pubDate>Fri, 20 Nov 2009 00:23:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925894</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9925894.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9925894</wfw:commentRss><description>&lt;p&gt;Exchange Server 2007 SP2 Update Rollup 1 is available to download @ &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=de91f994-6263-47ef-89d7-6d344997459d&amp;amp;displaylang=en"&gt;Download the Exchange2007-KB971534-EN package now&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Update Rollup 1 for Exchange Server 2007 Service Pack 2 (SP2) resolves issues that were found in Exchange Server 2007 SP2 since the software was released. This update rollup is highly recommended for all Exchange Server 2007 SP2 customers. For the details related to the issue fixed by it refer to &lt;a href="http://support.microsoft.com/kb/971534" target="_blank"&gt;Description of Update Rollup 1 for Exchange Server 2007 Service Pack 2&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you are developing application based on Exchange Web Services then following are the issues fixed by Update Rollup 1 for Exchange Server 2007 Service Pack 2 (SP2):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://support.microsoft.com/kb/973868/"&gt;973868&lt;/a&gt; A delegate cannot cancel meetings in the organizer's calendar by using Exchange Web Service (EWS)      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://support.microsoft.com/kb/973307/"&gt;973307&lt;/a&gt; An application that uses Exchange Web Services returns an exception on an Exchange Server 2007 server      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://support.microsoft.com/kb/972009/"&gt;972009&lt;/a&gt; E-mail messages cannot be retrieved by an Exchange Web Service (EWS)-based application if there are invalid control characters in the text body of the e-mail message&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So, if you are on Exchange Server 2007 SP2; I would highly recommend you to download and install Update Rollup 1 to fix the know issued with Exchange Server 2007 SP2.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925894" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Download/default.aspx">Download</category><category domain="http://blogs.msdn.com/brijs/archive/tags/FYI/default.aspx">FYI</category></item><item><title>Exchange Web Services Managed API and EWS Editor is available!</title><link>http://blogs.msdn.com/brijs/archive/2009/11/13/exchange-web-services-managed-api-and-ews-editor-is-available.aspx</link><pubDate>Sat, 14 Nov 2009 02:00:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9922369</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9922369.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9922369</wfw:commentRss><description>&lt;p&gt;If you are developing using &lt;a href="http://blogs.msdn.com/brijs/archive/2009/04/15/fyi-exchange-web-services-are-now-got-managed-interface.aspx" target="_blank"&gt;Exchange Web Services Managed API&lt;/a&gt; then now you can download @ &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c3342fb3-fbcc-4127-becf-872c746840e1#tm" target="_blank"&gt;Microsoft Exchange Web Services (EWS) Managed API 1.0&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The &lt;strong&gt;Microsoft Exchange Web Services (EWS) Managed API 1.0 &lt;/strong&gt;provides a managed interface for developing client applications that use Exchange Web Services. The EWS Managed API simplifies the implementation of applications that communicate with Microsoft Exchange Server 2007 Service Pack 1 (SP1) and later versions of Microsoft Exchange. Built on the Exchange Web Services SOAP protocol and Autodiscover, the EWS Managed API provides a .NET interface to EWS that is easy to learn, use, and maintain.&lt;/p&gt;  &lt;p&gt;Moreover, If you are looking for sample application developed using &lt;strong&gt;Exchange Web Service Managed API&lt;/strong&gt; then &lt;strong&gt;EWS Editor &lt;/strong&gt;is a great resource to have. Read more details about &lt;strong&gt;EWSEditor&lt;/strong&gt; and download it from &lt;strong&gt;Matt’s&lt;/strong&gt; post @ &lt;a href="http://blogs.msdn.com/mstehle/archive/2009/11/09/announcing-ewseditor-1-5.aspx" target="_blank"&gt;Announcing EWSEditor 1.5!&lt;/a&gt; Here are the few points which I really liked about it:&lt;/p&gt;  &lt;p&gt;1. Demonstrate the Exchange Web Services Managed API functionality and simplicity to developers through its source code.    &lt;br /&gt;2. Demonstrate the Exchange Web Services SOAP traffic used to perform actions initiated through an explorer user interface.     &lt;br /&gt;3. Assist non-developers in debugging and understanding Exchange stores by exploring items, folders, and their properties in depth. “&lt;/p&gt;  &lt;p&gt;EWS rocks!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9922369" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services+Managed+API/default.aspx">Exchange Web Services Managed API</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2010/default.aspx">Exchange Server 2010</category><category domain="http://blogs.msdn.com/brijs/archive/tags/FYI/default.aspx">FYI</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Learn/default.aspx">Learn</category></item><item><title>Issue accessing Public Folder Store using CDO 1.2.1 for Outlook 2007</title><link>http://blogs.msdn.com/brijs/archive/2009/11/13/issue-accessing-public-folder-store-using-cdo-1-2-1-for-outlook-2007.aspx</link><pubDate>Sat, 14 Nov 2009 01:44:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9922361</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9922361.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9922361</wfw:commentRss><description>&lt;p&gt;If you are using InfoStores collection of CDO 1.2.1 for Outlook 2007 to access Public Folder store and not able to get reference to Public Folder store then here is the explanation of the design change in CDO 1.2.1 from SGriffin’s post@&lt;a href="http://blogs.msdn.com/stephen_griffin/archive/2007/05/30/outlook-2007-public-folders-mapi-and-you.aspx" target="_blank"&gt;Outlook 2007, Public Folders, MAPI and You&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Basically, Outlook 2007's version of the Exchange provider, emsmdb32, doesn't automatically add the Public Folder store to the message store table of a new profile. Instead, it waits until a successful connection has been made to the Exchange server. If it then detects that the public folders are available, it updates the profile and sends a table notification indicating the availability of Public Folders. This is a change from previous versions of Outlook and from Exchange's version of the provider. We made this change to better support Exchange 2007's Public Folder-less environments.&lt;/p&gt; &lt;p&gt;Here is the vbscript sample code snippet to repro the issue:&lt;/p&gt; &lt;p&gt;NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment. &lt;/p&gt; &lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="rem"&gt;'Change Server and User name below&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;SERVER = &lt;span class="str"&gt;"Server"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;Mailbox = &lt;span class="str"&gt;"User"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objSession = CreateObject(&lt;span class="str"&gt;"MAPI.Session"&lt;/span&gt;)&lt;/pre&gt;&lt;pre&gt;objSession.LogOn , &lt;span class="str"&gt;""&lt;/span&gt;, &lt;span class="kwrd"&gt;False&lt;/span&gt;, &lt;span class="kwrd"&gt;True&lt;/span&gt;, , &lt;span class="kwrd"&gt;True&lt;/span&gt;, SERVER  &amp;amp; Chr(10) &amp;amp; Mailbox&lt;/pre&gt;&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStores = objSession.InfoStores&lt;/pre&gt;&lt;pre class="alt"&gt;     &lt;span class="kwrd"&gt;For&lt;/span&gt; i = 1 &lt;span class="kwrd"&gt;To&lt;/span&gt; objInfoStores.Count&lt;/pre&gt;&lt;pre&gt;        &lt;span class="kwrd"&gt;If&lt;/span&gt; UCase(objInfoStores.Item(i)) = UCase(&lt;span class="str"&gt;"Public Folders"&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStore = objInfoStores.Item(i)&lt;/pre&gt;&lt;pre&gt;                msgbox objInfoStore.name &lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;For&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStores= &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objSession=Nothing&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;strong&gt;&lt;font color="#800000"&gt;The above sample code would not return the name of the Public Folders store to us.&lt;/font&gt;&lt;/strong&gt;&lt;/pre&gt;&lt;pre&gt;&lt;strong&gt;&lt;font color="#800000"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;strong&gt;&lt;font color="#800000"&gt;We need to work around the above issue by creating another session object as per the below code snippet:&lt;/font&gt;&lt;/strong&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="rem"&gt;'Change Server and User name below&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;SERVER = &lt;span class="str"&gt;"Server"&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;Mailbox = &lt;span class="str"&gt;"User"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objSession = CreateObject(&lt;span class="str"&gt;"MAPI.Session"&lt;/span&gt;)&lt;/pre&gt;&lt;pre&gt;objSession.LogOn , &lt;span class="str"&gt;""&lt;/span&gt;, &lt;span class="kwrd"&gt;False&lt;/span&gt;, &lt;span class="kwrd"&gt;True&lt;/span&gt;, , &lt;span class="kwrd"&gt;True&lt;/span&gt;, SERVER  &amp;amp; Chr(10) &amp;amp; Mailbox&lt;/pre&gt;&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStores = objSession.InfoStores&lt;/pre&gt;&lt;pre class="alt"&gt;     &lt;span class="kwrd"&gt;For&lt;/span&gt; i = 1 &lt;span class="kwrd"&gt;To&lt;/span&gt; objInfoStores.Count&lt;/pre&gt;&lt;pre&gt;        &lt;span class="kwrd"&gt;If&lt;/span&gt; UCase(objInfoStores.Item(i)) = UCase(&lt;span class="str"&gt;"Public Folders"&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStore = objInfoStores.Item(i)&lt;/pre&gt;&lt;pre&gt;                msgbox objInfoStore.name &lt;/pre&gt;&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;For&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objSession2 = CreateObject(&lt;span class="str"&gt;"MAPI.Session"&lt;/span&gt;)&lt;/pre&gt;&lt;pre class="alt"&gt;objSession2.LogOn , &lt;span class="str"&gt;""&lt;/span&gt;, &lt;span class="kwrd"&gt;False&lt;/span&gt;, &lt;span class="kwrd"&gt;False&lt;/span&gt;, , &lt;span class="kwrd"&gt;True&lt;/span&gt;, SERVER  &amp;amp; Chr(10) &amp;amp; Mailbox&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStores2 = objSession2.InfoStores&lt;/pre&gt;&lt;pre&gt;     &lt;span class="kwrd"&gt;For&lt;/span&gt; i = 1 &lt;span class="kwrd"&gt;To&lt;/span&gt; objInfoStores2.Count&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;If&lt;/span&gt; UCase(objInfoStores2.Item(i)) = UCase(&lt;span class="str"&gt;"Public Folders"&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;            &lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStore2 = objInfoStores2.Item(i)&lt;/pre&gt;&lt;pre class="alt"&gt;                msgbox objInfoStore2.name &lt;/pre&gt;&lt;pre&gt;            &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;For&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStores= &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objSession=&lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objInfoStores2= &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objSession2=Nothing&lt;/pre&gt;&lt;/div&gt;
&lt;style type="text/css"&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; We are using third parameter as “False” for objSession2.Logon, So that it uses the current shared MAPI session.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9922361" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2007/default.aspx">Outlook 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Workaround/default.aspx">Workaround</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Issue/default.aspx">Issue</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Problem/default.aspx">Problem</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VBA/default.aspx">VBA</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VBScript/default.aspx">VBScript</category><category domain="http://blogs.msdn.com/brijs/archive/tags/CDO+1.2.1/default.aspx">CDO 1.2.1</category></item><item><title>How to do FindItem using Extended MAPI Properties in a Exchange Web Service call?</title><link>http://blogs.msdn.com/brijs/archive/2009/11/12/how-to-do-finditem-using-extended-mapi-properties-in-a-exchange-web-service-call.aspx</link><pubDate>Fri, 13 Nov 2009 01:03:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9921679</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9921679.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9921679</wfw:commentRss><description>&lt;p&gt;We can perform GetItem &lt;strong&gt;Exchange Web Service&lt;/strong&gt; call to get &lt;strong&gt;Extended MAPI Properties&lt;/strong&gt; refer my previous post &lt;a href="http://blogs.msdn.com/brijs/archive/2009/11/06/how-to-get-extended-mapi-properties-in-the-getitem-exchange-web-service-call.aspx" target="_blank"&gt;How to get Extended MAPI Properties in the GetItem Exchange Web Service call?&lt;/a&gt; and can also perform &lt;strong&gt;FindItem&lt;/strong&gt; based on the Extended MAPI Properties.&lt;/p&gt;  &lt;p&gt;In the sample code given below we would use &lt;strong&gt;CleanGlobalObjectId&lt;/strong&gt; to perform&lt;strong&gt; FindItem&lt;/strong&gt; for Calendar Items:&lt;/p&gt;  &lt;p&gt;NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; SelectRecordByCGOID()&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="rem"&gt;//prepare the find item request: we have to use FindItem because&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;//this is the only way to search by CleanGlobalObjectID; GetItem does not allow us&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="rem"&gt;//to search with Restrictions&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            FindItemType findItemRequest = &lt;span class="kwrd"&gt;new&lt;/span&gt; FindItemType();&lt;/pre&gt;

  &lt;pre&gt;            DistinguishedFolderIdType[] folderIDArray = &lt;span class="kwrd"&gt;new&lt;/span&gt; DistinguishedFolderIdType[1];&lt;/pre&gt;

  &lt;pre class="alt"&gt;            folderIDArray[0] = &lt;span class="kwrd"&gt;new&lt;/span&gt; DistinguishedFolderIdType();&lt;/pre&gt;

  &lt;pre&gt;            folderIDArray[0].Id = DistinguishedFolderIdNameType.calendar;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            folderIDArray[0].Mailbox = &lt;span class="kwrd"&gt;new&lt;/span&gt; EmailAddressType();&lt;/pre&gt;

  &lt;pre&gt;            folderIDArray[0].Mailbox.EmailAddress = &lt;span class="str"&gt;&amp;quot;brijs@msglab.com&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;          &lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="rem"&gt;// Add folders to the request.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            findItemRequest.ParentFolderIds = folderIDArray;&lt;/pre&gt;

  &lt;pre&gt;            findItemRequest.Traversal = ItemQueryTraversalType.Shallow;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="rem"&gt;//Prepare an Item shape type that defines how the items in view will be returned.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            ItemResponseShapeType itemShapeDefinition = &lt;span class="kwrd"&gt;new&lt;/span&gt; ItemResponseShapeType();&lt;/pre&gt;

  &lt;pre&gt;            itemShapeDefinition.BaseShape = DefaultShapeNamesType.AllProperties  ;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            &lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;//filter the results by the CleanGlobalObjectID passed in&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            PathToExtendedFieldType path = &lt;span class="kwrd"&gt;new&lt;/span&gt; PathToExtendedFieldType();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;/pre&gt;

  &lt;pre&gt;            path.PropertyId = 35;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            path.PropertyIdSpecified = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;            path.PropertySetId = &lt;span class="str"&gt;&amp;quot;6ED8DA90-450B-101B-98DA-00AA003F1305&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            path.PropertyType = MapiPropertyTypeType.Binary;&lt;/pre&gt;

  &lt;pre&gt;                 &lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            FieldURIOrConstantType constant = &lt;span class="kwrd"&gt;new&lt;/span&gt; FieldURIOrConstantType();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            ConstantValueType constantValue = &lt;span class="kwrd"&gt;new&lt;/span&gt; ConstantValueType();&lt;/pre&gt;

  &lt;pre&gt;            constantValue.Value = itemGCOID ;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            constant.Item = constantValue;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            RestrictionType restriction = &lt;span class="kwrd"&gt;new&lt;/span&gt; RestrictionType();&lt;/pre&gt;

  &lt;pre&gt;            IsEqualToType equal = &lt;span class="kwrd"&gt;new&lt;/span&gt; IsEqualToType();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            equal.Item = path;&lt;/pre&gt;

  &lt;pre&gt;            equal.FieldURIOrConstant = constant;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            restriction.Item = equal;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;//Add the itemShape definition and restriction to the FindItem request&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            findItemRequest.ItemShape = itemShapeDefinition;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            findItemRequest.Restriction = restriction;&lt;/pre&gt;

  &lt;pre&gt;            &lt;/pre&gt;

  &lt;pre class="alt"&gt;            FindItemResponseType findItemResponse = binding.FindItem(findItemRequest);&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; findItemResponse.ResponseMessages.Items.Length; i++)&lt;/pre&gt;

  &lt;pre&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="rem"&gt;//verify the FindItem request was successfull&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (findItemResponse.ResponseMessages.Items[i].ResponseClass != ResponseClassType.Success)&lt;/pre&gt;

  &lt;pre class="alt"&gt;                {&lt;/pre&gt;

  &lt;pre&gt;                    &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; Exception(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;/pre&gt;

  &lt;pre class="alt"&gt;                        &lt;span class="str"&gt;&amp;quot;Unable to find calendar view by CleanGlobalObjectID \r\n{0}\r\n{1}&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

  &lt;pre&gt;                        findItemResponse.ResponseMessages.Items[i].ResponseCode,&lt;/pre&gt;

  &lt;pre class="alt"&gt;                        findItemResponse.ResponseMessages.Items[i].MessageText));&lt;/pre&gt;

  &lt;pre&gt;                }&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                        &lt;span class="rem"&gt;//Success&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                        &lt;span class="rem"&gt;//get the calendar items contained in the response&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                        FindItemResponseMessageType findItemResponseMessage = (FindItemResponseMessageType)findItemResponse.ResponseMessages.Items[i];&lt;/pre&gt;

  &lt;pre&gt;                        ArrayOfRealItemsType findItemResponseItems = (ArrayOfRealItemsType)findItemResponseMessage.RootFolder.Item;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;                        &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; x = 0; x &amp;lt; findItemResponseMessage.RootFolder.TotalItemsInView; x++)&lt;/pre&gt;

  &lt;pre class="alt"&gt;                        {&lt;/pre&gt;

  &lt;pre&gt;                            &lt;span class="kwrd"&gt;if&lt;/span&gt; (findItemResponseItems.Items[x] &lt;span class="kwrd"&gt;is&lt;/span&gt; CalendarItemType)&lt;/pre&gt;

  &lt;pre class="alt"&gt;                            {&lt;/pre&gt;

  &lt;pre&gt;                                CalendarItemType calendar = (CalendarItemType)findItemResponseItems.Items[x];&lt;/pre&gt;

  &lt;pre class="alt"&gt;                                Console.WriteLine( &lt;span class="str"&gt;&amp;quot;Item found &amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                                Console.WriteLine( calendar.Subject);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                            }&lt;/pre&gt;

  &lt;pre&gt;                        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;                 }&lt;/pre&gt;

  &lt;pre&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;                                    &lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Hope this helps!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9921679" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/How+to/default.aspx">How to</category><category domain="http://blogs.msdn.com/brijs/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/EWS/default.aspx">EWS</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2010/default.aspx">Exchange Server 2010</category></item><item><title>How to get Extended MAPI Properties in the GetItem Exchange Web Service call?</title><link>http://blogs.msdn.com/brijs/archive/2009/11/06/how-to-get-extended-mapi-properties-in-the-getitem-exchange-web-service-call.aspx</link><pubDate>Sat, 07 Nov 2009 00:48:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918922</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9918922.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9918922</wfw:commentRss><description>&lt;p&gt;We can get/set Extended MAPI Properties using Exchange Web Services for Exchange Server 2007/2010.&lt;/p&gt;  &lt;p&gt;Here is sample code snippet to get value for CleanGlobalObjectID via GetItem call of Exchange Web Services:&lt;/p&gt;  &lt;p&gt;NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used    &lt;br /&gt;to create and debug procedures.&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; fnGetCalItem()&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;// Form the GetItem request&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            GetItemType getRequest = &lt;span class="kwrd"&gt;new&lt;/span&gt; GetItemType();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="rem"&gt;// Define which item properties are returned in the response&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            ItemResponseShapeType itemProperties = &lt;span class="kwrd"&gt;new&lt;/span&gt; ItemResponseShapeType();&lt;/pre&gt;

  &lt;pre&gt;            itemProperties.BaseShape = DefaultShapeNamesType.AllProperties;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="rem"&gt;// Add properties shape to request&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            getRequest.ItemShape = itemProperties;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;// Set the itemID of the desired item to retrieve&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            ItemIdType id = &lt;span class="kwrd"&gt;new&lt;/span&gt; ItemIdType();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            id.Id = itemID;&lt;/pre&gt;

  &lt;pre&gt;            getRequest.ItemIds = &lt;span class="kwrd"&gt;new&lt;/span&gt; ItemIdType[] { id };&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            PathToExtendedFieldType[] pteft = &lt;span class="kwrd"&gt;new&lt;/span&gt; PathToExtendedFieldType[1];&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            pteft[0] = &lt;span class="kwrd"&gt;new&lt;/span&gt; PathToExtendedFieldType();&lt;/pre&gt;

  &lt;pre&gt;            &lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;//Add CleanGlobalObjectID extended property &lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            pteft[0].PropertyId = 35;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            pteft[0].PropertyIdSpecified = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;            pteft[0].PropertySetId  = &lt;span class="str"&gt;&amp;quot;6ED8DA90-450B-101B-98DA-00AA003F1305&amp;quot;&lt;/span&gt; ; &lt;/pre&gt;

  &lt;pre class="alt"&gt;            pteft[0].PropertyType = MapiPropertyTypeType.Binary;&lt;/pre&gt;

  &lt;pre&gt;            itemProperties.AdditionalProperties = pteft;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="rem"&gt;// Send the listing (find) request and get the response&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            GetItemResponseType getResp = binding.GetItem(getRequest);&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="rem"&gt;// Get the response message&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (getResp.ResponseMessages.Items[0].ResponseClass == ResponseClassType.Success)&lt;/pre&gt;

  &lt;pre class="alt"&gt;            {&lt;/pre&gt;

  &lt;pre&gt;                ItemInfoResponseMessageType iirmt = getResp.ResponseMessages.Items[0] &lt;span class="kwrd"&gt;as&lt;/span&gt; ItemInfoResponseMessageType;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                itemGCOID = iirmt.Items.Items[0].ExtendedProperty[0].Item.ToString() ;&lt;/pre&gt;

  &lt;pre&gt;             }&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                Console.WriteLine(getResp.ResponseMessages.Items[0]);&lt;/pre&gt;

  &lt;pre&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Articles referenced for the above sample code:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;EWS: UID not always the same for orphaned instances of the same meeting.
      &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://blogs.msdn.com/mstehle/archive/2009/09/02/ews-uid-not-always-the-same-for-orphaned-instances-of-the-same-meeting.aspx"&gt;http://blogs.msdn.com/mstehle/archive/2009/09/02/ews-uid-not-always-the-same-for-orphaned-instances-of-the-same-meeting.aspx&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;&lt;strong&gt;PidLidCleanGlobalObjectId Canonical Property
      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/cc839502.aspx" href="http://msdn.microsoft.com/en-us/library/cc839502.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc839502.aspx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hope this helps!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918922" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/How+to/default.aspx">How to</category><category domain="http://blogs.msdn.com/brijs/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/brijs/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2010/default.aspx">Exchange Server 2010</category></item><item><title>How to deploy VSTO add-ins for Outlook?</title><link>http://blogs.msdn.com/brijs/archive/2009/10/23/how-to-deploy-vsto-add-ins-for-outlook.aspx</link><pubDate>Fri, 23 Oct 2009 21:07:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9912235</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9912235.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9912235</wfw:commentRss><description>&lt;p&gt;“What is the best way to deploy VSTO add-ins for Outlook?” This is one of the most common question asked by our customers who are developing add-ins using Visual Studio Tools for Office(VSTO) for Outlook and other Office Applications.&amp;#160; Simple answer is that it’s all depend on you requirements and environment. We can opt for either ClickOnce Deployment or Windows Installer. &lt;/p&gt;  &lt;p&gt;We can refer to &lt;a href="http://msdn.microsoft.com/en-us/library/e2444w33.aspx" target="_blank"&gt;Choosing a Deployment Strategy&lt;/a&gt; and the following table compares the features of ClickOnce deployment with Windows Installer deployment to make informed decision:&lt;/p&gt; &lt;form id="aspnetForm" method="post" name="aspnetForm" action="http://msdn.microsoft.com/142dbbz4.aspx"&gt;   &lt;div&gt;     &lt;div style="height: 637px" id="ctl00_LibFrame" class="resizableArea"&gt;       &lt;div id="ctl00_raRight" class="rightSection"&gt;         &lt;div class="ContentArea"&gt;           &lt;div id="mainSection" class="topic"&gt;&lt;span&gt;               &lt;div class="MTPS_CollapsibleRegion"&gt;                 &lt;div style="display: block" class="tableSection"&gt;                   &lt;table border="1" width="743"&gt;&lt;tbody&gt;                       &lt;tr&gt;                         &lt;th width="162"&gt;Features&lt;/th&gt;                          &lt;th width="268"&gt;                           &lt;p&gt;ClickOnce&lt;/p&gt;                         &lt;/th&gt;                          &lt;th width="311"&gt;                           &lt;p&gt;Windows Installer&lt;/p&gt;                         &lt;/th&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Automatic update&lt;span class="sup"&gt;1&lt;/span&gt;&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Post-installation rollback&lt;span class="sup"&gt;2&lt;/span&gt;&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Update from Web&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Does not affect shared components or other applications&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Security permissions granted&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Grants only permissions necessary for the application (more safe)&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Grants Full Trust by default (less safe)&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Security permissions required&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Internet or Intranet Zone (Full Trust for CD-ROM installation)&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Administrator&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Application and deployment manifest signing&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Installation-time user interface&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Single prompt&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Multipart Wizard&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Installation of assemblies on demand&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Installation of shared files&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Installation of drivers&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes (with custom actions)&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Installation to Global Assembly Cache&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Installation for multiple users&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Add application to &lt;span class="label"&gt;Start&lt;/span&gt; menu&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Add application to Startup group&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Add application to &lt;span class="label"&gt;Favorites&lt;/span&gt; menu&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Register file types&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Install time registry access&lt;span class="sup"&gt;3&lt;/span&gt;&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;Limited&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Binary file patching&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;No&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;Yes&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;                           &lt;p&gt;Application installation location&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;p&gt;ClickOnce application cache&lt;/p&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;p&gt;&lt;span class="label"&gt;Program Files&lt;/span&gt; folder&lt;/p&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                        &lt;tr&gt;                         &lt;td width="162"&gt;Articles to refer&lt;/td&gt;                          &lt;td width="268"&gt;                           &lt;ul&gt;                             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/t71a733d(VS.80).aspx" target="_blank"&gt;ClickOnce Deployment&lt;/a&gt; &lt;/li&gt;                              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/142dbbz4.aspx" target="_blank"&gt;ClickOnce Deployment Overview&lt;/a&gt; &lt;/li&gt;                              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb386095(VS.100).aspx" target="_blank"&gt;How to: Deploy an Office Solution by Using ClickOnce&lt;/a&gt; &lt;/li&gt;                              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc837158.aspx" target="_blank"&gt;Video How to: Deploy an Office Solution by Using ClickOnce (2007 System)&lt;/a&gt;&lt;/li&gt;                           &lt;/ul&gt;                         &lt;/td&gt;                          &lt;td width="311"&gt;                           &lt;ul&gt;                             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc563937.aspx " target="_blank"&gt;Deploying a Visual Studio Tools for the Office System 3.0 Solution for the 2007 Microsoft Office System Using Windows Installer (Part 1 of 2)&lt;/a&gt;&lt;/li&gt;                              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc616991.aspx " target="_blank"&gt;Deploying a Visual Studio Tools for the Office System 3.0 Solution for the 2007 Microsoft Office System Using Windows Installer (Part 2 of 2)&lt;/a&gt;&lt;/li&gt;                              &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/VSTO3MSI" target="_blank"&gt;Deploying a VSTO 3.0 solution for the Office 2007 using Windows Installers&lt;/a&gt;&lt;/li&gt;                           &lt;/ul&gt;                         &lt;/td&gt;                       &lt;/tr&gt;                     &lt;/tbody&gt;&lt;/table&gt;                 &lt;/div&gt;               &lt;/div&gt;             &lt;/span&gt;&lt;/div&gt;         &lt;/div&gt;       &lt;/div&gt;     &lt;/div&gt;   &lt;/div&gt; &lt;/form&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Notes:&lt;/p&gt;  &lt;p&gt;1. With Windows Installer, you must implement programmatic updates in the application code.&lt;/p&gt;  &lt;p&gt;2. With ClickOnce, rollback is available in Add or Remove Programs.&lt;/p&gt;  &lt;p&gt;3. ClickOnce deployment can access HKEY_LOCAL_MACHINE (HKLM) only with Full Trust permission.&lt;/p&gt;  &lt;p&gt;Feel free to put questions related to ClickOnce or Windows Installer deployment for Office Add-ins to me.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9912235" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/Office+Add-ins/default.aspx">Office Add-ins</category><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/How+to/default.aspx">How to</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+Add-ins/default.aspx">Outlook Add-ins</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2007/default.aspx">Outlook 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VSTO+3.0/default.aspx">VSTO 3.0</category><category domain="http://blogs.msdn.com/brijs/archive/tags/.Net/default.aspx">.Net</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Deployment/default.aspx">Deployment</category></item><item><title>Exchange Web Services and Exchange 2010 - What’s new Webcasts</title><link>http://blogs.msdn.com/brijs/archive/2009/10/08/exchange-web-services-and-exchange-2010-what-s-new-webcasts.aspx</link><pubDate>Thu, 08 Oct 2009 19:07:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9905008</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9905008.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9905008</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;Exchange 2010&lt;/strong&gt; is on it way and along with it &lt;a href="http://blogs.msdn.com/brijs/archive/2009/04/15/fyi-exchange-web-services-are-now-got-managed-interface.aspx"&gt;Exchange Web Services Managed API&lt;/a&gt; would be one-in-all interface for developing custom applications.&lt;/p&gt;  &lt;p&gt;So, If you are developing Exchange related application and interested to know what you can do with the new &lt;strong&gt;EWS Managed API&lt;/strong&gt; and what’s new in &lt;strong&gt;Exchange 2010 for developers&lt;/strong&gt; then, Here are few interesting web casts to learn more:&amp;#160; &lt;/p&gt;  &lt;p&gt;10/13/2009 - &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427565&amp;amp;Culture=en-US"&gt;Exchange Server 2010 Development (Part 1 of 6): Migrating Applications to Exchange Web Services&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10/14/2009 - &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427588&amp;amp;Culture=en-US"&gt;Exchange Server 2010 Development (Part 2 of 6): A Deep Dive into Using Autodiscover Service in Exchange Web Services&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10/15/2009 - &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427593&amp;amp;Culture=en-US"&gt;Exchange Server 2010 Development (Part 3 of 6): A Deep Dive into Impersonation and Delegation in Exchange Web Services&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10/20/2009 - &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427597&amp;amp;Culture=en-US"&gt;Exchange Server 2010 Development (Part 4 of 6): A Deep Dive into Exchange Web Services Notifications (Push/Pull)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10/21/2009 - &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427601&amp;amp;Culture=en-US"&gt;Exchange Server 2010 Development (Part 5 of 6): A Deep Dive into the Exchange Web Services Managed API&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;10/22/2009 - &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427605&amp;amp;Culture=en-US"&gt;Exchange Server 2010 Development (Part 6 of 6): Best Practices for Building Scalable Exchange Server Applications&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you can’t wait for it, then have a sneak peek from quick video with Jason Henderson and David Claux of the EWS team @ &lt;a href="http://blogs.msdn.com/cmayo/archive/2009/10/07/exchange-2010-and-exchange-web-services-what-s-new-webcasts.aspx"&gt;Chris Mayo’s post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Enjoy!!!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9905008" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services+Managed+API/default.aspx">Exchange Web Services Managed API</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2010/default.aspx">Exchange Server 2010</category><category domain="http://blogs.msdn.com/brijs/archive/tags/FYI/default.aspx">FYI</category><category domain="http://blogs.msdn.com/brijs/archive/tags/WebCast/default.aspx">WebCast</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Learn/default.aspx">Learn</category></item><item><title>How to create a Service Account with full access to all mailboxes on Exchange Server 2007 mailboxstore?</title><link>http://blogs.msdn.com/brijs/archive/2009/09/01/how-to-create-a-service-account-with-full-access-to-all-mailboxes-on-exchange-server-2007-mailboxstore.aspx</link><pubDate>Tue, 01 Sep 2009 21:50:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9890022</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9890022.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9890022</wfw:commentRss><description>&lt;p&gt;We can use following Exchange PowerShell cmdlet to grant a Service Account full access to all the mailboxes on &lt;strong&gt;Exchange Server 2007&lt;/strong&gt; mailboxstore, but do so only in accordance with your organization's security and privacy policies: &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre&gt;&lt;span class="kwrd"&gt;Get&lt;/span&gt;-mailboxserver &amp;lt;servername&amp;gt; | add-adpermission –user &amp;lt;service account&amp;gt; -accessrights GenericRead, &lt;/pre&gt;

  &lt;pre class="alt"&gt;GenericWrite -extendedrights Send-&lt;span class="kwrd"&gt;As&lt;/span&gt;, Receive-&lt;span class="kwrd"&gt;As&lt;/span&gt;, ms-Exch-Store-Admin&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;We need to modify &amp;lt;servername&amp;gt; as the Exchange Server name and &amp;lt;service account&amp;gt; as the account for which we would like to grant access.&lt;/p&gt;

&lt;p&gt;If you have further questions related to &lt;strong&gt;Exchange 2007 Permissions&lt;/strong&gt; then please refer to 

  &lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb310792.aspx"&gt;Exchange 2007 Permissions: Frequently Asked Questions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you writing a custom application using &lt;strong&gt;EWS &lt;/strong&gt;or &lt;a href="http://blogs.msdn.com/brijs/archive/2009/04/15/fyi-exchange-web-services-are-now-got-managed-interface.aspx"&gt;Exchange Web Services Managed API&lt;/a&gt; for &lt;strong&gt;Exchange 2007&lt;/strong&gt; then you can also have look at nice post @ &lt;a href="http://blogs.msdn.com/exchangedev/archive/2009/06/15/exchange-impersonation-vs-delegate-access.aspx"&gt;Exchange Impersonation vs Delegate Access&lt;/a&gt;. which explain difference between Exchange Impersonation and&amp;#160; Delegate Access to access an Exchange mailbox using Exchange Web Services. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9890022" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/How+to/default.aspx">How to</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services+Managed+API/default.aspx">Exchange Web Services Managed API</category><category domain="http://blogs.msdn.com/brijs/archive/tags/PowerShell/default.aspx">PowerShell</category></item><item><title>Exchange 2007 Webcasts for Client Access and Web Services</title><link>http://blogs.msdn.com/brijs/archive/2009/08/31/exchange-2007-webcasts-for-client-access-and-web-services.aspx</link><pubDate>Tue, 01 Sep 2009 01:54:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9889599</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9889599.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9889599</wfw:commentRss><description>&lt;p&gt;Want to learn more about &lt;strong&gt;Microsoft Exchange Server 2007&lt;/strong&gt; then Support WebCasts&amp;#160; are way to go. Support Webcasts are a free Internet broadcast service that is provided by Microsoft. You can view webcasts on-demand, and you can also download them in Microsoft Windows Media format for offline viewing. &lt;/p&gt;  &lt;p&gt;Here are few worthy of note webcasts which I found for the Exchange developers: &lt;/p&gt;  &lt;p&gt;Join us for a look at the various underlying components of Exchange Server 2007 Client Access Services. We cover the enhanced calendar functionality, the new Unified Messaging and Exchange Server Web services, and programmatic access to messaging data. We conclude the session by examining Exchange Server ActiveSync improvements. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=95397"&gt;TechNet Webcast : Exchange Server 2007 Client Access and Web Services (Level 200)&lt;/a&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Learn about the Exchange 2007 implementation of the &lt;strong&gt;Autodiscover service&lt;/strong&gt;. You can use this service to automatically configure Microsoft Office Outlook 2007 with connection settings so that it can easily connect to the Exchange 2007 server. The Support WebCast includes information about server and certificate configuration in various environments to achieve optimal functionality. Discover more yourself, and watch Support WebCast : Introduction to Autodiscover in Microsoft Exchange Server 2007. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=3052&amp;amp;kbid=935438"&gt;Support WebCast : Introduction to Autodiscover in Microsoft Exchange Server 2007.&lt;/a&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;If you want to explore more, and get you on your way quickly, here are some webcasts that you might be interested in: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=95314"&gt;TechNet Webcast : Deploying and Migrating to Exchange Server 2007 (Level 200)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=95315"&gt;TechNet Webcast : Technical Overview of Forefront Security for Exchange Server (Level 200)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=95316"&gt;TechNet Webcast : Recipient Management, Policies, and Permissions in Exchange Server 2007 (Level 200)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=3052&amp;amp;kbid=922666"&gt;Support WebCast : Top Setup Issues for Exchange 2007.&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=3052&amp;amp;kbid=937563"&gt;Support WebCast : Microsoft Exchange 2007 disaster recovery.&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Happy Learning…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9889599" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/brijs/archive/tags/EWS/default.aspx">EWS</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Web+Services/default.aspx">Exchange Web Services</category><category domain="http://blogs.msdn.com/brijs/archive/tags/WebCast/default.aspx">WebCast</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Learn/default.aspx">Learn</category></item><item><title>How to search for SMTP Servers in a domain programmatically using ADSI?</title><link>http://blogs.msdn.com/brijs/archive/2009/08/28/how-to-search-for-smtp-servers-in-a-domain-programmatically-using-adsi.aspx</link><pubDate>Fri, 28 Aug 2009 20:57:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9888715</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9888715.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9888715</wfw:commentRss><description>&lt;p&gt;Here is a sample vbscript using which we can get SMTP servers instance names in a particular domain pragmatically via ADSI.&lt;/p&gt;  &lt;p&gt;NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment. &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Option&lt;/span&gt; Explicit&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; conn&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; com&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; iAdRootDSE&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; strNC&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; strQry&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; RS&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; strstmsrv&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; svsSmtpserver&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; crServerName&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;set&lt;/span&gt; conn = createobject(&lt;span class="str"&gt;&amp;quot;ADODB.Connection&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;set&lt;/span&gt; com = createobject(&lt;span class="str"&gt;&amp;quot;ADODB.Command&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; iAdRootDSE = GetObject(&lt;span class="str"&gt;&amp;quot;LDAP://RootDSE&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;strNC = iAdRootDSE.&lt;span class="kwrd"&gt;Get&lt;/span&gt;(&lt;span class="str"&gt;&amp;quot;configurationNamingContext&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;conn.Provider = &lt;span class="str"&gt;&amp;quot;ADsDSOObject&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;conn.Open &lt;span class="str"&gt;&amp;quot;ADs Provider&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;com.ActiveConnection = Conn&lt;/pre&gt;

  &lt;pre class="alt"&gt;com.ActiveConnection = Conn&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;Wscript.echo&lt;/pre&gt;

  &lt;pre&gt;Wscript.echo &lt;span class="str"&gt;&amp;quot;SMTP Virtual Servers&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="rem"&gt;'Get SMTP server query using protocolCfgSMTPServer object class&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;strQry = &lt;span class="str"&gt;&amp;quot;&amp;lt;LDAP://&amp;quot;&lt;/span&gt; &amp;amp; strNC &amp;amp; &lt;span class="str"&gt;&amp;quot;&amp;gt;;(objectCategory=protocolCfgSMTPServer);name,distinguishedName;subtree&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;com.ActiveConnection = conn&lt;/pre&gt;

  &lt;pre&gt;com.CommandText = strQry&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; RS = com.Execute&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;While&lt;/span&gt; &lt;span class="kwrd"&gt;Not&lt;/span&gt; RS.EOF&lt;/pre&gt;

  &lt;pre class="alt"&gt;    strstmsrv = &lt;span class="str"&gt;&amp;quot;LDAP://&amp;quot;&lt;/span&gt; &amp;amp; rs.fields(&lt;span class="str"&gt;&amp;quot;distinguishedName&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;set&lt;/span&gt; svsSmtpserver = getobject(strstmsrv)&lt;/pre&gt;

  &lt;pre class="alt"&gt;    crServerName = mid(svsSmtpserver.distinguishedName,instr(svsSmtpserver.distinguishedName,&lt;span class="str"&gt;&amp;quot;CN=Protocols,&amp;quot;&lt;/span&gt;)+16,instr(svsSmtpserver.distinguishedName,&lt;span class="str"&gt;&amp;quot;,CN=Servers&amp;quot;&lt;/span&gt;)-(instr(svsSmtpserver.distinguishedName,&lt;span class="str"&gt;&amp;quot;CN=Protocols,&amp;quot;&lt;/span&gt;)+16))&lt;/pre&gt;

  &lt;pre&gt;    wscript.echo&lt;/pre&gt;

  &lt;pre class="alt"&gt;    wscript.echo &lt;span class="str"&gt;&amp;quot;ServerName:&amp;quot;&lt;/span&gt; &amp;amp; crServerName&lt;/pre&gt;

  &lt;pre&gt;    &lt;/pre&gt;

  &lt;pre class="alt"&gt;    RS.movenext&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;wend&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; RS=&lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; com=&lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; conn=Nothing&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Here is another good example of where &lt;strong&gt;protocolCfgSMTPServer&lt;/strong&gt; object class is used to find SMTP Virtual Server and set &lt;strong&gt;Message Restriction on an SMTP Virtual Server Using ADSI&lt;/strong&gt; in VB @ &lt;a href="http://msdn.microsoft.com/en-us/library/ms992579(EXCHG.65).aspx"&gt;Setting Message Restriction on an SMTP Virtual Server Using ADSI&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Hope this helps. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9888715" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/How+to/default.aspx">How to</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2003/default.aspx">Exchange Server 2003</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VBScript/default.aspx">VBScript</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VB/default.aspx">VB</category><category domain="http://blogs.msdn.com/brijs/archive/tags/SMTP/default.aspx">SMTP</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Visual+Basic/default.aspx">Visual Basic</category></item><item><title>Download Available for Exchange Server 2007 Service Pack 2</title><link>http://blogs.msdn.com/brijs/archive/2009/08/28/download-available-for-exchange-server-2007-service-pack-2.aspx</link><pubDate>Fri, 28 Aug 2009 20:26:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9888667</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9888667.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9888667</wfw:commentRss><description>&lt;p&gt;You can now download Exchange Server 2007 Service Pack 2 from here &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=4c4bd2a3-5e50-42b0-8bbb-2cc9afe3216a"&gt;Exchange Server 2007 SP2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We can refer to the following links to know more about SP2 in details:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://technet.microsoft.com/hi-in/library/ee221150(en-us).aspx"&gt;What's New in Exchange Server 2007 SP2&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msexchangeteam.com/archive/2009/08/25/452095.aspx"&gt;Announcing the release of Service Pack 2 for Exchange Server 2007!&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Things which would be of interest for Exchange application developers are:&amp;#160; &lt;/p&gt;  &lt;li&gt;&lt;b&gt;Named Properties cmdlets&lt;/b&gt; - SP2 enables Exchange administrators to monitor their named property usage per database.&lt;/li&gt;  &lt;li&gt;&lt;b&gt;New User Interface for Managing Diagnostic Logging&lt;/b&gt;- SP2 enables Exchange administrators to easily configure and manage diagnostic logging from within the Exchange Management Console.     &lt;p&gt;Exchange Server 2007 Service Pack 2 (SP2), the &lt;strong&gt;Manage Diagnostic Logging Properties wizard&lt;/strong&gt; is added to the Exchange Management Console. In Exchange Server 2007 Service Pack 1 or an earlier version, you must use the Exchange Management Shell to change diagnostic logging levels. for further reading &lt;a href="http://technet.microsoft.com/en-us/library/bb201668.aspx"&gt;Diagnostic Logging of Exchange Processes&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9888667" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2007/default.aspx">Exchange Server 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Download/default.aspx">Download</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Diagnostic/default.aspx">Diagnostic</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Unable to open Outlook item attached using Attachments.Add and using the olByReference flag on the Outlook 2007</title><link>http://blogs.msdn.com/brijs/archive/2009/06/30/unable-to-open-outlook-item-attached-using-attachments-add-and-using-the-olbyreference-flag-on-the-outlook-2007.aspx</link><pubDate>Tue, 30 Jun 2009 23:09:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809997</guid><dc:creator>brijs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9809997.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9809997</wfw:commentRss><description>&lt;p&gt;One of our customer is sending Outlook item attached using Attachments.Add with olByReference Flag on Outlook 2007. If the recipient of the email tries to open the attached item &lt;/p&gt;  &lt;p&gt;will get “Microsoft Office Oulook could not complete the operation. One or more parameters values are not valid” exception.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/brijs/WindowsLiveWriter/Una.AddandusingtheolByReferenceflagonthe_1756/OlAttachErr_2.jpg"&gt;&lt;img title="OlAttachErr" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="76" alt="OlAttachErr" src="http://blogs.msdn.com/blogfiles/brijs/WindowsLiveWriter/Una.AddandusingtheolByReferenceflagonthe_1756/OlAttachErr_thumb.jpg" width="249" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To repro the issue we can use following sample VBA code snippet:&lt;/p&gt;  &lt;p&gt;NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment. &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Sub&lt;/span&gt; SendCurrentItemAsAttach()&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; currItem = Application.ActiveInspector.CurrentItem&lt;/pre&gt;

  &lt;pre class="alt"&gt;    currItem.Save&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; RequestItem = Application.CreateItem(0)&lt;/pre&gt;

  &lt;pre class="alt"&gt;    RequestItem.Subject = &lt;span class="str"&gt;&amp;quot;Please check attached mail&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    RequestItem.HTMLBody = &lt;span class="str"&gt;&amp;quot;Please check attached mail&amp;quot;&lt;/span&gt; &amp;amp; Chr(13) &lt;/pre&gt;

  &lt;pre class="alt"&gt;    RequestItem.&lt;span class="kwrd"&gt;To&lt;/span&gt; = &lt;span class="str"&gt;&amp;quot;test@domain.com&amp;quot;&lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; myAttachments = RequestItem.Attachments&lt;/pre&gt;

  &lt;pre class="alt"&gt;    myAttachments.Add currItem, 4 &lt;span class="rem"&gt;'olByReference(4)&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    RequestItem.Send&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; RequestItem = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;The above issue is happening because of the design changes in the Outlook 2007.&lt;/p&gt;

&lt;p&gt;One workaround to address the above issue is to include a hyperlink in the email using the &lt;a href="outlook:\\&amp;lt;ENTRYID"&gt;Outlook:\\&amp;lt;ENTRYID&lt;/a&gt;&amp;gt; protocol to link to the existing item rather than attaching the item ByRef. So to avoid above issue we can use following VBA sample code snippet:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Sub&lt;/span&gt; SendCurrentItemAsAttach()&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; currItem = Application.ActiveInspector.CurrentItem&lt;/pre&gt;

  &lt;pre class="alt"&gt;    currItem.Save&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; RequestItem = Application.CreateItem(0)&lt;/pre&gt;

  &lt;pre class="alt"&gt;    RequestItem.Subject = &lt;span class="str"&gt;&amp;quot;Please check attached mail&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    RequestItem.HTMLBody = &lt;span class="str"&gt;&amp;quot;Please click to open the requestl&amp;quot;&lt;/span&gt; &amp;amp; Chr(13) &amp;amp; &lt;span class="str"&gt;&amp;quot;&amp;lt;a href=Outlook:\\&amp;quot;&lt;/span&gt; &amp;amp; currItem.EntryID &amp;amp; &lt;span class="str"&gt;&amp;quot;&amp;gt;Click Mail&amp;lt;/a&amp;gt;&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    RequestItem.&lt;span class="kwrd"&gt;To&lt;/span&gt; = &lt;span class="str"&gt;&amp;quot;test@domain.com&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    RequestItem.Send&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; RequestItem = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&lt;strong&gt;IMP:&lt;/strong&gt; using Outlook:EntryID approach but it would works &lt;strong&gt;ONLY&lt;/strong&gt; in case of &lt;strong&gt;HTML/RTF mail&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Attachments.Add Method (Microsoft.Office.Interop.Outlook)&lt;/strong&gt;

    &lt;br /&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.attachments.add.aspx" href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.attachments.add.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.attachments.add.aspx&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;&lt;strong&gt;OlAttachmentType Enumeration (Microsoft.Office.Interop.Outlook)
      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.olattachmenttype.aspx" href="http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.olattachmenttype.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.olattachmenttype.aspx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9809997" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2007/default.aspx">Outlook 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Workaround/default.aspx">Workaround</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Issue/default.aspx">Issue</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2003/default.aspx">Outlook 2003</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VBA/default.aspx">VBA</category></item><item><title>FYI: Outlook 2003 and Exchange Server 2003 goes into Extended Support</title><link>http://blogs.msdn.com/brijs/archive/2009/05/13/fyi-outlook-2003-and-exchange-server-2003-goes-into-extended-support.aspx</link><pubDate>Wed, 13 May 2009 15:19:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9609188</guid><dc:creator>brijs</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9609188.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9609188</wfw:commentRss><description>&lt;p&gt;Outlook 2003 and Exchange Server 2003 goes into extended Support from 4/14/2009&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Exchange Server 2003&lt;/strong&gt; goes into Extended Support on 4/14/2009.      &lt;br /&gt;&lt;a href="http://support.microsoft.com/lifecycle/?LN=en-us&amp;amp;p1=1773&amp;amp;x=11&amp;amp;y=9"&gt;http://support.microsoft.com/lifecycle/?LN=en-us&amp;amp;p1=1773&amp;amp;x=11&amp;amp;y=9&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Outlook 2003&lt;/strong&gt; goes into Extended Support on 4/14/2009.      &lt;br /&gt;&lt;a href="http://support.microsoft.com/lifecycle/?p1=2520"&gt;http://support.microsoft.com/lifecycle/?p1=2520&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What is the difference between Mainstream Support, Extended Support, and online self-help support?&lt;/strong&gt;&lt;/p&gt;  &lt;table class="primaryTable" cellspacing="0" cellpadding="0" width="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="primaryMainColumn"&gt;         &lt;div lang="en-us" id="mainColumn"&gt;           &lt;div class="wp HCon" id="C_42302"&gt;             &lt;table cellspacing="0" cellpadding="0" width="994" border="1"&gt;&lt;tbody&gt;                 &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;&lt;strong&gt;Support provided&lt;/strong&gt;&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;&lt;strong&gt;Mainstream Support phase&lt;/strong&gt;&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt;&lt;strong&gt;Extended Support phase&lt;/strong&gt;&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;Paid support (per-incident, per hour, and others)&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;Security update support&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;Non-security hotfix support&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt;Requires extended hotfix agreement, purchased within 90 days of mainstream support ending.&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;No-charge incident support&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt;&amp;#160;&amp;#160; NA&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;Warranty claims&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt; NA&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;Design changes and feature requests&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt; NA&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;Product-specific information that is available by using the online Microsoft Knowledge Base&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr&gt;                   &lt;td width="526"&gt;                     &lt;p align="center"&gt;Product-specific information that is available by using the Support site at Microsoft Help and Support to find answers to technical questions&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="219"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                    &lt;td width="247"&gt;                     &lt;p align="center"&gt;X&lt;/p&gt;                   &lt;/td&gt;                 &lt;/tr&gt;               &lt;/tbody&gt;&lt;/table&gt;           &lt;/div&gt;         &lt;/div&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;IMP:&lt;/strong&gt; Microsoft will &lt;strong&gt;NOT&lt;/strong&gt; accept requests for warranty support, design changes, or new features during the Extended Support phase.&lt;/p&gt;  &lt;p&gt;To understand Support Lifecycle policy we can refer to &lt;a href="http://support.microsoft.com/gp/lifepolicy"&gt;Microsoft Support Lifecycle Policy FAQ&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To find the support timelines for other Microsoft products, visit the &lt;a href="http://support.microsoft.com/gp/lifeselect"&gt;Select a Product for Lifecycle Information&lt;/a&gt; site (products listed by Product Family) or the &lt;a href="http://support.microsoft.com/gp/lifeselectindex"&gt;Support Lifecycle Index&lt;/a&gt; site.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9609188" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Exchange+Server+2003/default.aspx">Exchange Server 2003</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2003/default.aspx">Outlook 2003</category><category domain="http://blogs.msdn.com/brijs/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/brijs/archive/tags/FYI/default.aspx">FYI</category></item><item><title>Remove all PST from the Outlook Mailbox using VBScript</title><link>http://blogs.msdn.com/brijs/archive/2009/05/06/remove-all-pst-from-the-outlook-mailbox-using-vbscript.aspx</link><pubDate>Wed, 06 May 2009 19:08:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9591512</guid><dc:creator>brijs</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/brijs/comments/9591512.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brijs/commentrss.aspx?PostID=9591512</wfw:commentRss><description>&lt;p&gt;If you would like to remove all of the Personal Folders file .PSTs attached to the Outlook Mailbox profile then we can use RemoveStore Method.&lt;/p&gt;  &lt;p&gt;Here is a sample VBScript to perform the job for us:&lt;/p&gt;  &lt;p&gt;NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment. &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="rem"&gt;'Sample script to remove Personal Folders files (.pst) from the current MAPI profile or session&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;RemoveAllPST&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Sub&lt;/span&gt; RemoveAllPST()&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; objOL &lt;span class="rem"&gt;'As New Outlook.Application&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; objFolders &lt;span class="rem"&gt;'As Outlook.MAPIFolders&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; objFolder &lt;span class="rem"&gt;'As Outlook.MAPIFolder&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; i &lt;span class="rem"&gt;'As Interger&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Dim&lt;/span&gt; strPrompt &lt;span class="rem"&gt;'As String&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objOL = CreateObject(&lt;span class="str"&gt;&amp;quot;Outlook.Application&amp;quot;&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;Set&lt;/span&gt; objFolders = objOL.Session.Folders&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;For&lt;/span&gt; i = objFolders.Count &lt;span class="kwrd"&gt;To&lt;/span&gt; 1 &lt;span class="kwrd"&gt;Step&lt;/span&gt; -1&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;On&lt;/span&gt; &lt;span class="kwrd"&gt;Error&lt;/span&gt; &lt;span class="kwrd"&gt;Resume&lt;/span&gt; &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;Set&lt;/span&gt; objFolder = objFolders.Item(i)&lt;/pre&gt;

  &lt;pre&gt;     &lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="rem"&gt;'Prompt the user for confirmation&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;If&lt;/span&gt; (InStr(1, objFolder.Name, &lt;span class="str"&gt;&amp;quot;Mailbox&amp;quot;&lt;/span&gt;) = 0) &lt;span class="kwrd"&gt;And&lt;/span&gt; (InStr(1, objFolder.Name, &lt;span class="str"&gt;&amp;quot;Public Folders&amp;quot;&lt;/span&gt;) = 0) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;/pre&gt;

  &lt;pre&gt;    strPrompt = &lt;span class="str"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    strPrompt = &lt;span class="str"&gt;&amp;quot;Are you sure you want to remove &amp;quot;&lt;/span&gt; &amp;amp; objFolder.Name&lt;/pre&gt;

  &lt;pre&gt;   &lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;If&lt;/span&gt; MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;        objOL.Session.RemoveStore objFolder&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;We can also refer to the article mentioned below related to RemoveStore Method:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NameSpace.RemoveStore Method&lt;/strong&gt;

  &lt;br /&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/bb219923.aspx" href="http://msdn.microsoft.com/en-us/library/bb219923.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb219923.aspx&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope this helps.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9591512" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brijs/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category><category domain="http://blogs.msdn.com/brijs/archive/tags/How+to/default.aspx">How to</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2007/default.aspx">Outlook 2007</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+2003/default.aspx">Outlook 2003</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VBA/default.aspx">VBA</category><category domain="http://blogs.msdn.com/brijs/archive/tags/Outlook+Object+Model/default.aspx">Outlook Object Model</category><category domain="http://blogs.msdn.com/brijs/archive/tags/VBScript/default.aspx">VBScript</category></item></channel></rss>