<?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>JasonJoh's [MSFT] WebLog</title><link>http://blogs.msdn.com/jasonjoh/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Ch-ch-ch-ch-changes!</title><link>http://blogs.msdn.com/jasonjoh/archive/2008/02/08/ch-ch-ch-ch-changes.aspx</link><pubDate>Sat, 09 Feb 2008 05:02:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7550085</guid><dc:creator>jasonjoh</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/7550085.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=7550085</wfw:commentRss><description>&lt;p&gt;It's been almost 2 years since I joined the Premier Field Engineering team here at Microsoft to support the HMC solution. A lot has changed since that day. We've seen a new version of Exchange roll out, and a new version of HMC to go along with it. Today marks yet another change for me. Today was my last day with the Premier Field Engineering team. I'm joining the Exchange UA team to help in the effort to document the "over-the-wire" protocols between Outlook and Exchange.
&lt;/p&gt;&lt;p&gt;Supporting HMC has been a great experience. Chris Vandenberg and his team are doing great work on HMC, and they've got even greater things planned. My old team under Janie Gray is made up of some of the greatest folks in PFE. While I'm excited to start in my new role, I'm a little saddened to be leaving such a great group of people. Best of luck guys, not that you'll need it!
&lt;/p&gt;&lt;p&gt;As far as the blog goes, it'll probably get more development-oriented. Stay tuned and we'll see where it goes.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7550085" width="1" height="1"&gt;</description></item><item><title>Exchange 2007 SP1 and HMC 4.0</title><link>http://blogs.msdn.com/jasonjoh/archive/2007/11/30/exchange-2007-sp1-and-hmc-4-0.aspx</link><pubDate>Fri, 30 Nov 2007 18:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6617056</guid><dc:creator>jasonjoh</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/6617056.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=6617056</wfw:commentRss><description>&lt;P&gt;&lt;STRIKE&gt;Yes, &lt;/STRIKE&gt;&lt;A href="http://msexchangeteam.com/archive/2007/11/29/447611.aspx" mce_href="http://msexchangeteam.com/archive/2007/11/29/447611.aspx"&gt;&lt;STRIKE&gt;Exchange 2007 SP1 is out&lt;/STRIKE&gt;&lt;/A&gt;&lt;STRIKE&gt;. No, it has not been cleared with HMC 4.0 yet. At this point you should not install SP1. We are working on getting this tested and should have an update soon. Until then please be patient!&lt;/STRIKE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;I am pleased to announce that the HMC Product team has finished a full regression test on HMC 4.0 with Exchange Server 2007 Service Pack 1, and not found any problems. It is therefore safe for customers running or deploying HMC 4.0 to install SP1. In fact it is recommended that HMC 4.0 &amp;nbsp;customers upgrade to SP1 as soon as possible. As always they should first test carefully in their own test environment.&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;An HMC whitepaper will be made available for download from&amp;nbsp;&lt;A class="" href="http://www.microsoft.com/serviceproviders/solutions/hostedmessaging.mspx" mce_href="http://www.microsoft.com/serviceproviders/solutions/hostedmessaging.mspx"&gt;the HMC website&lt;/A&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;in the coming weeks.&amp;nbsp;The whitepaper describes the benefits to hosters and their customers available in SP1, and also gives you important information about the installation, including required and recommended hotfixes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;The whitepaper does not repeat all of the SP1 information published by Exchange. Make sure&amp;nbsp;you read the &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5770BD59-376E-42EC-B940-BE6225CD97FF&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5770BD59-376E-42EC-B940-BE6225CD97FF&amp;amp;displaylang=en"&gt;release notes&lt;/A&gt;! &lt;/FONT&gt;&lt;FONT face=Verdana&gt;There is also a wealth of explanatory information on SP1 available on &lt;A class="" href="http://technet.microsoft.com/en-gb/exchange/bb688076.aspx" mce_href="http://technet.microsoft.com/en-gb/exchange/bb688076.aspx"&gt;TechNet&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;Note that the Product Team's testing was not done on the original build of HMC 4.0, but on a system which had also had the important HMC rollup fixes installed.&amp;nbsp;Prior to installing SP1 you&amp;nbsp;should be running these fixes:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;The "HMC Exchange Rollup"&amp;nbsp;(942100)&lt;/FONT&gt;&lt;FONT face=Verdana&gt; &lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;The "HMC SharePoint Rollup" (943837)&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;See my &lt;A class="" href="http://blogs.msdn.com/jasonjoh/archive/2007/11/29/making-sense-of-patching-hmc-4-0.aspx" mce_href="http://blogs.msdn.com/jasonjoh/archive/2007/11/29/making-sense-of-patching-hmc-4-0.aspx"&gt;previous post&lt;/A&gt; for more info on the fixes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana&gt;&lt;STRONG&gt;IMPORTANT NOTE:&lt;/STRONG&gt; -&lt;SPAN style="COLOR: #1f497d"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;U&gt;All future HMC4.* features and hotfixes will be built assuming SP1 is installed&lt;/U&gt;&lt;/B&gt;. An early hotfix which will be available under KB 944021&lt;SPAN style="COLOR: purple"&gt; &lt;/SPAN&gt;takes advantage of an Exchange fix included in SP1.&amp;nbsp;The hotfix&amp;nbsp;greatly improves provisioning performance in environments with many MAPI-enabled organizations.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6617056" width="1" height="1"&gt;</description></item><item><title>Making Sense of Patching HMC 4.0</title><link>http://blogs.msdn.com/jasonjoh/archive/2007/11/29/making-sense-of-patching-hmc-4-0.aspx</link><pubDate>Thu, 29 Nov 2007 18:24:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6599688</guid><dc:creator>jasonjoh</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/6599688.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=6599688</wfw:commentRss><description>&lt;p&gt;Patching HMC has never been a fun process. Unlike most Microsoft products, HMC patches don't come in nice neat installer packages that can just be installed on top of your existing setup. This causes some consternation, since we're used to being able to run a hotfix installer and trusting the Windows installer technology to handle updating the needed components if they needed to be updated, or letting us know we've already got a newer version if they don't.
&lt;/p&gt;&lt;p&gt;HMC patches are different. There are good reasons for this (maybe I'll cover them in another post). For better or worse, it causes a number of calls to us to help sort through the confusion. From a simple "exactly what patches do I need?" to a complicated error caused by mismatched versions, I've dealt with enough calls to inspire this post.
&lt;/p&gt;&lt;p&gt;So here's my attempt to make sense of things. This is my suggestion for patching an RTM deployment of HMC with the latest fixes.
&lt;/p&gt;&lt;h2&gt;Windows 2003 Service Pack 2 and 939216
&lt;/h2&gt;&lt;p&gt;Of course you followed the deployment guide to the letter, and you only have Service Pack 1 installed on your MPS engine server, right? Good! There's a very good reason for this. The version of MPS that shipped with the RTM of HMC 4.0 was incompatible with SP2. However, we released a hotfix for MPS that resolves this incompatibility. So go ahead and install SP2, then install the hotfix from the following article: 
&lt;/p&gt;&lt;p&gt;&lt;a href="http://support.microsoft.com/kb/939216"&gt;Some provisioning requests do not work, and you receive a "0xc220140b" error message after you install Windows Server 2003 Service Pack 2 on a server that is running Microsoft Solution for Hosted Messaging and Collaboration version 4.0&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;This is the easiest hotfix you'll find for HMC! It's just like most hotfixes you're used to. You just run the package and step through the wizard. This update only applies to MPS engine servers.
&lt;/p&gt;&lt;h2&gt;936086 (The Multiple Results Fix)
&lt;/h2&gt;&lt;p&gt;One of the first problems we encountered were some issues in our namespaces when multiple results were supposed to be returned. The namespaces were returning only a single result. This fix addresses that.
&lt;/p&gt;&lt;p&gt;This is one of those complicated hotfixes, and unfortunately the knowledge base article that gives detailed instructions on installing it is stuck in limbo. So for the meantime I've posted instructions &lt;a href="http://flygar.members.winisp.net/docs/936086Install.txt"&gt;here&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; This fix includes HostedSharePoint2007NS.msi and HostedSharePoint2007WS.msi. These will be superseded by the Windows SharePoint Services Provisioning Rollup below. So if you wish you can skip doing those here.
&lt;/p&gt;&lt;h2&gt;943792 (The Multiple Results Fix Part II)
&lt;/h2&gt;&lt;p&gt;We discovered a similar issue to 936086 in the Managed Plans namespace as well. This fix addresses it. Find instructions &lt;a href="http://flygar.members.winisp.net/docs/943792Install.txt"&gt;here&lt;/a&gt;.
&lt;/p&gt;&lt;h2&gt;942100 (The Exchange Provisioning Rollup)
&lt;/h2&gt;&lt;p&gt;Taking a page from the Exchange team's release strategy, we decided to package up the hotfixes made to the Exchange namespaces and web services into a rollup. This fix addresses a number of issues which I won't go into here. When the KB article gets released it will have all those details. For now, find the instructions to install &lt;a href="http://flygar.members.winisp.net/docs/942100Install.txt"&gt;here&lt;/a&gt;.
&lt;/p&gt;&lt;h2&gt;943837 (The Windows SharePoint Services Provisioning Rollup)
&lt;/h2&gt;&lt;p&gt;The same idea as 942100, but this time for WSS. Find installation instructions for this one &lt;a href="http://flygar.members.winisp.net/docs/943837Install.txt"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6599688" width="1" height="1"&gt;</description></item><item><title>WSS 3.0 Security Fix causes Performance Issue for Hosters</title><link>http://blogs.msdn.com/jasonjoh/archive/2007/10/10/wss-3-0-security-fix-causes-performance-issue-for-hosters.aspx</link><pubDate>Wed, 10 Oct 2007 17:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5391786</guid><dc:creator>jasonjoh</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/5391786.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=5391786</wfw:commentRss><description>&lt;P&gt;I was notified this morning that a recently released security fix for WSS 3.0 has some severe performance issues for folks using host-header mode with a large number of sites (sound like anyone you know?). Read below for the official announcement:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;STRONG&gt;Important known performance issues about security update MS07-059 when deployed in hosting scenarios with multiple host-named site collections&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;Microsoft has released, on October 9, a &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/security/bulletin/ms07-059.mspx" mce_href="http://www.microsoft.com/technet/security/bulletin/ms07-059.mspx"&gt;&lt;FONT face=Calibri size=3&gt;security bulletin&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, describing an important security update &lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;for &lt;/SPAN&gt;Microsoft &lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;Windows SharePoint Services 3.0, which &lt;/SPAN&gt;resolves a publicly reported &lt;/FONT&gt;&lt;A href="http://support.microsoft.com/kb/942017" mce_href="http://support.microsoft.com/kb/942017"&gt;&lt;FONT face=Calibri size=3&gt;vulnerability&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;. The vulnerability could result in elevation of privilege within SharePoint sites.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;If you do not use host-named site collections in your Windows SharePoint Services 3.0 deployment, you can, and should, already proceed applying this important security update &lt;/SPAN&gt;MS07-059. You can also disregard the rest of this message.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;On the other hand, if your &lt;SPAN&gt;Windows SharePoint Services 3.0 deployment uses host-named site collections, &lt;/SPAN&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;previously known as “host header” sites&lt;/SPAN&gt;&lt;SPAN&gt;, you may experience severe performance issues while applying this security update, particularly if you have many of such host-named site collections. For example, this issue may occur when there are more than 50 host-named site collections in your deployment. In that case, we recommend that you do not apply this security update at this point. The described performance &lt;A href="http://support.microsoft.com/kb/934525/" mce_href="http://support.microsoft.com/kb/934525/"&gt;known issue&lt;/A&gt; is currently being addressed and Microsoft &lt;/SPAN&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;will shortly issue a complementary hot fix, which will enable the proper installation of security updates contained in the &lt;/SPAN&gt;MS07-059 bulletin.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;In order to obtain this upcoming hotfix, contact &lt;SPAN&gt;Microsoft Product Support Services. For a complete list of Microsoft Product Support Services telephone numbers, visit the following Microsoft Web site: &lt;A href="http://support.microsoft.com/contactus/?ws=support" mce_href="http://support.microsoft.com/contactus/?ws=support"&gt;&lt;FONT size=+0&gt;http://support.microsoft.com/contactus/?ws=support&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;To read more details about the security bulletin, addressed vulnerability and known issues in deployments with many host-named sites, visit the following links:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Microsoft Security Bulletin MS07-059 - Important Vulnerability in Windows SharePoint Services 3.0 and Office SharePoint Server 2007 Could Result in Elevation of Privilege Within the SharePoint Site (942017): &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/security/bulletin/ms07-059.mspx" mce_href="http://www.microsoft.com/technet/security/bulletin/ms07-059.mspx"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/technet/security/bulletin/ms07-059.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;SPAN Symbol? mso-bidi-font-family: Symbol; mso-fareast-font-family: FONT-FAMILY:&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;KB article about the v&lt;SPAN&gt;ulnerability in Windows SharePoint Services 3.0 that could result in elevation of privilege within the SharePoint site: &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://support.microsoft.com/kb/942017" mce_href="http://support.microsoft.com/kb/942017"&gt;&lt;FONT face=Calibri size=3&gt;http://support.microsoft.com/kb/942017&lt;/FONT&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;Description of known issues while applying the &lt;/SPAN&gt;MS07-059 &lt;SPAN&gt;security update for Windows SharePoint Services 3.0: &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://support.microsoft.com/kb/934525/" mce_href="http://support.microsoft.com/kb/934525/"&gt;&lt;FONT face=Calibri size=3&gt;http://support.microsoft.com/kb/934525/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;We appreciate your consideration.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5391786" width="1" height="1"&gt;</description></item><item><title>Adding Users to WSS 3.0 Site in HMC 4.0 Exposes Users in All Organizations</title><link>http://blogs.msdn.com/jasonjoh/archive/2007/09/11/adding-users-to-wss-3-0-site-in-hmc-4-0-exposes-users-in-all-organizations.aspx</link><pubDate>Tue, 11 Sep 2007 20:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4868512</guid><dc:creator>jasonjoh</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/4868512.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=4868512</wfw:commentRss><description>&lt;P&gt;If you followed our deployment guide to the letter, then chance are your WSS 3.0 setup isn't 100%. There's a big problem with the deployment guide for WSS that can break "multi-tenancy." Here's how you can check if you are broken and how you can fix the problem.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Test&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Log into an MPS-provisioned WSS site as the organization admin.&lt;/LI&gt;
&lt;LI&gt;Click the Site Actions drop-down and choose Site Settings&lt;/LI&gt;
&lt;LI&gt;Click People and Groups.&lt;/LI&gt;
&lt;LI&gt;Click New.&lt;/LI&gt;
&lt;LI&gt;Underneath the text box labeled "Users/Groups" click the little book icon (the Browse button)&lt;/LI&gt;
&lt;LI&gt;Type something generic like 'a' and hit Enter&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;If you see users from other organizations, you've got a problem. What you should see is only users in the organization that owns the WSS site, as well as some of the built-in accounts and groups (unfortunately WSS is limited so we can't filter out those built-in accounts).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Fix&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This problem is created by the unneeded and incorrect Step 8 in&amp;nbsp;procedure DWSH.1 in the HMC 4.0 deployment guide. That procedure instructs you to add the SharePoint_AppID, SharePointSrchSvc, and SharePointSrchCrl accounts to the Windows-based Hosting Service Accounts group. So to fix the problem you will need to remove these accounts from the Windows-based Hosting Service Accounts group and then restart IIS on your WSS front ends.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4868512" width="1" height="1"&gt;</description></item><item><title>Quick and Easy Ways to Break your Provisioning Engine</title><link>http://blogs.msdn.com/jasonjoh/archive/2007/08/30/quick-and-easy-ways-to-break-your-provisioning-engine.aspx</link><pubDate>Thu, 30 Aug 2007 17:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4648244</guid><dc:creator>jasonjoh</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/4648244.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=4648244</wfw:commentRss><description>&lt;P&gt;By now most people have discovered that installing Windows 2003 SP2 on your Provisioning Engine servers (MPS01 and MPS02 in the reference architecture) &lt;A class="" href="http://www.microsoft.com/technet/serviceproviders/hmc_sp2_news.mspx" target=_blank mce_href="http://www.microsoft.com/technet/serviceproviders/hmc_sp2_news.mspx"&gt;breaks provisioning completely&lt;/A&gt;. The problem is that SP2 includes some updates to the MSXML parser that breaks the way MPS transforms XML during its processing of provisioning requests.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Well as it turns out there's a number of security updates that get advertised by Microsoft Update that also include these fixes for folks that don't install SP2. So you can quickly get yourself into the same situation by blindly installing all of the security updates that are offered.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;To be clear, Microsoft certainly wants you to install security updates in a timely fashion. However, we strongly recommend that hosters have a lab environment that mirrors production, and that any updates are tested in the lab before being installed in production. We all agree downtime is bad, and it's better to discover these things in a lab instead of production.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;That being said, here's a list of updates we've run into problems with in support. The HMC product group is aware of all of these and we are investigating fixing them as we speak. I'll update this post as we uncover more patches or as we fix the ones we already know about.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Patches with Known Problems on MPS&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://support.microsoft.com/kb/936021" target=_blank mce_href="http://support.microsoft.com/kb/936021"&gt;&lt;STRIKE&gt;Description of the security update for Microsoft XML Core Services 3.0: August 14, 2007&lt;/STRIKE&gt;&lt;/A&gt;&lt;STRIKE&gt;: This one will impact both HMC 3.5 and HMC 4.0 environments. We're currently investigating fixes for this. You will see errors like "Only one top level element is allowed in an XML document."&lt;/STRIKE&gt; &lt;STRONG&gt;UPDATE: &lt;/STRONG&gt;This has been resolved. A hotfix for MPS has been released. You can obtain this fix by contacting Microsoft CSS and requesting the fix for 939216. As of this posting the KB article for the fix has not been published, but it is currently in the process.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://support.microsoft.com/kb/928365" target=_blank mce_href="http://support.microsoft.com/kb/928365"&gt;&lt;STRIKE&gt;Description of the security update for the .NET Framework 2.0 for Windows Server 2003, Windows XP, and Windows 2000: July 10, 2007&lt;/STRIKE&gt;&lt;/A&gt;&lt;STRIKE&gt;: This one should only impact HMC 4.0 as it is an update for the 2.0 framework, and 2.0 isn't installed on MPS servers in a 3.5 deployment. This one is also being investigated. You will see an error like "Unable to generate a temporary class (result=1)."&lt;/STRIKE&gt; &lt;STRONG&gt;UPDATE: &lt;/STRONG&gt;This has been resolved. A hotfix for the Exchange 2007 Provider has been released. You can obtain this fix by contacting Microsoft CSS and requesting the fix for 942100. As of this posting the KB article for the fix has not been published, but it is currently in the process.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I strongly urge you to contact support if have any questions about installing a particular patch. If you do install a patch and find it breaks provisioning, &lt;STRONG&gt;please&lt;/STRONG&gt; report it through support channels so we can properly investigate it!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4648244" width="1" height="1"&gt;</description></item><item><title>More than 1000 OAB's in Your HMC 3.5 Environment?</title><link>http://blogs.msdn.com/jasonjoh/archive/2007/05/31/more-than-1000-oab-s-in-your-hmc-3-5-environment.aspx</link><pubDate>Fri, 01 Jun 2007 03:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3015643</guid><dc:creator>jasonjoh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/3015643.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=3015643</wfw:commentRss><description>&lt;P&gt;Have you seen any OAB's mysteriously disappear? Then you're going to want to check out this knowledge base article, then call support to get them to send you the hotfix.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://support.microsoft.com/?id=932888" target=_blank mce_href="http://support.microsoft.com/?id=932888"&gt;Users cannot download offline address books in Exchange Server 2003 when you use Microsoft Solution for Hosted Messaging and Collaboration version 3.5&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3015643" width="1" height="1"&gt;</description></item><item><title>Problems changing password in the HMC Consolidated Sample Control Panel</title><link>http://blogs.msdn.com/jasonjoh/archive/2006/06/29/650822.aspx</link><pubDate>Thu, 29 Jun 2006 17:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:650822</guid><dc:creator>jasonjoh</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/650822.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=650822</wfw:commentRss><description>&lt;P&gt;A lot of folks have hit this apparently, so I wanted to share my findings and how to fix it.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;PROBLEM&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;If a non-admin user logs in to the Sample Control Panel that comes with the HMC 3.5 Consolidated Server Deployment Guide (MPSSampleCP), they cannot change their password. The error received is:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;An error encountered while processing object 'LDAP://ad01.fabrikam.com/CN=someguy@alpineskihouse.com,OU=alpineskihouse,
OU=consolidatedmessenger,OU=Hosting,DC=fabrikam,DC=com'./Access is denied./UserSetPassword&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;CAUSE&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The first clue is in the error message itself. It tells us that the error happened in &lt;STRONG&gt;UserSetPassword&lt;/STRONG&gt;. It may not be immediately obvious, but UserSetPassword is NOT what we should be executing here!&lt;/P&gt;
&lt;P&gt;First, some background. There are 2 different ways to change a user's password. The first is what any user should be able to do: change their own password. This is similar to changing your password in Windows. You're prompted for your old password, then your new password (twice, just to make sure). This is accomplished in the provisioning world via the ChangeUserPassword method in the Managed Active Directory namespace.&lt;/P&gt;
&lt;P&gt;The second method is an administrator-only method: resetting a user's password. This is similar to right-clicking a user in Active Directory Users and Computers and choosing "Reset Password..." You're not prompted for the old password, since in most cases you shouldn't know it. This is accomplished via the SetUserPassword method in the Managed Active Directory namespace.&lt;/P&gt;
&lt;P&gt;So that text in the error kind of tips us off that we're not doing the right thing here. Another clue is the UI that's presented to us in the Control Panel. The title of the page is "Reset Password," and we're only asked for the new password, not the old! A TraceView trace confirms it: we're calling the SetUserPassword method, not the ChangeUserPassword method! Since the user is not an administrator, they're not allowed to reset passwords.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;RESOLUTION&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Fixing it is fairly simple, assuming that you're somewhat familiar with Visual Studio. The whole password UI/logic in the Sample Control Panel is contained within a&amp;nbsp;DLL called CorePlugins.dll. You'll find this DLL in %Program Files%\Microsoft Hosting\Provisioning\Samples\MPSSampleCP\bin. We need to rebuild this DLL using Visual Studio.NET 2003. &lt;/P&gt;
&lt;P&gt;You'll find the source code for this DLL in %Program Files%\Microsoft Hosting\Provisioning\Samples\MPSSampleCP\CorePlugins. In that directory you should see a solution file called CorePlugins.sln. (If you don't, it's OK...look for CorePlugins.csproj instead). Open this with Visual Studio.&lt;/P&gt;
&lt;P&gt;Now all you need to do is rebuild. No code changes are needed. Just make sure that you're doing a Release build. Go to the Build menu and select Configuration Manager. For Active Solution Configuration, choose Release and click OK. Then on the Build menu, choose Rebuild CorePlugins. This will rebuild the DLL. If it all works, the Output window should show this:&lt;/P&gt;&lt;CODE&gt;---------------------- Done ---------------------- 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebuild All: 1 succeeded, 0 failed, 0 skipped&lt;/CODE&gt; 
&lt;P&gt;From the CorePlugins directory, go to the .\bin\Release directory and you should see your new CorePlugins.dll. Rename the one in %Program Files%\Microsoft Hosting\Provisioning\Samples\MPSSampleCP\bin and drop this new one in.&lt;/P&gt;
&lt;P&gt;You should now see that if a non-admin users logs in to the Sample Control Panel and chooses the Change Password option, that the page title is now "Change Password," and that you have 3 input boxes: one for the old password, 2 for the new. Best of all, when the user submits the request, it should work ;-)&lt;/P&gt;
&lt;P&gt;Special thanks to &lt;A href="http://forums.asp.net/thread/1179816.aspx"&gt;dfrauzel&lt;/A&gt;&amp;nbsp;for independently verifying this! I agree with his theory that most likely what happened was a last minute code change to the sample happened, and the binaries weren't rebuilt for the installer package.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=650822" width="1" height="1"&gt;</description></item><item><title>I'm Outta Here</title><link>http://blogs.msdn.com/jasonjoh/archive/2006/04/07/571179.aspx</link><pubDate>Sat, 08 Apr 2006 01:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:571179</guid><dc:creator>jasonjoh</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/571179.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=571179</wfw:commentRss><description>&lt;P&gt;Ok, not really, but I am moving to a new role here at Microsoft. I've been doing Messaging developer support for over 5 years now, and it's been great. The team I've worked with over the years is made up of some greatest folks I've ever met, and it was really hard to leave.&lt;/P&gt;
&lt;P&gt;On October 21, 2005, Graham Scott Johnston was born, and my whole world changed. With the new addition to our family, my priorities changed. When this opportunity came along, I couldn't pass it up.&lt;/P&gt;
&lt;P&gt;I'm moving to Florida and joining our Premier Field Engineering team. This will put us a lot closer to the rest of our families. I'll still be doing Exchange-related stuff: I'll be supporting &lt;A href="http://www.microsoft.com/serviceproviders/solutions/hostedmessaging.mspx"&gt;Hosted Messaging and Collaboration&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;So, this blog will be changing focus. I might still talk about Extended MAPI from time to time (I'll still be involved with MFCMapi), but I'll be primarily blogging about HMC. I'm a total n00b right now, but as I learn I'll post the interesting things I come across. ;-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=571179" width="1" height="1"&gt;</description></item><item><title>Yet another IExchangeManageStore incarnation</title><link>http://blogs.msdn.com/jasonjoh/archive/2006/03/29/yet-another-iexchangemanagestore-incarnation.aspx</link><pubDate>Wed, 29 Mar 2006 22:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:564250</guid><dc:creator>jasonjoh</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/564250.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=564250</wfw:commentRss><description>&lt;P&gt;Yep, that's right: IExchangeManageStore5 is upon us. And this is the coolest one yet!&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;I'm intrigued...what does it do?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The cool new feature in this interface is the ability to retrieve a mailbox table (or public folder table)&amp;nbsp;that contains only mailboxes in a particular information store. Prior versions of the IExchangeManageStore interfaces would always return a table that contained all mailboxes (or public folders) across all stores on a particular server.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;Big deal...I can query the Active Directory to find out what store a mailbox is in. Why should I care about this new interface?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Well, if avoiding the AD lookup isn't enough, there's one scenario where an AD lookup won't help you: the Recovery Storage Group. We recently documented &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_exch2k3_mapi_recoverystoragegroups.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_exch2k3_mapi_recoverystoragegroups.asp"&gt;how to connect to mailboxes in the RSG with MAPI&lt;/A&gt;. The kicker here is that when you have an RSG mounted, and you call one of the earlier GetMailboxTable variations, you would get two entries for mailboxes that existed in both the real storage group and the recovery storage group, with no way to tell them apart! (Yes, you can detect there are two identical entries and then assume that means the mailbox exists in the RSG, but all that table processing could get tedious)&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;Ok...I'm sold. How does it work?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The IExchangeManageStore5 interface includes 2 new functions.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;IExchangeManageStore5::GetMailboxTableEx&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The GetMailboxTableEx method obtains information about all of the mailboxes on a server in a particular store.&lt;/P&gt;&lt;PRE&gt;HRESULT GetMailboxTableEx(
  LPSTR lpszServerName,   
  LPGUID lpguidMdb,    
  LPMAPITABLE FAR * lppTable,  
  ULONG ulFlags,
  UINT uOffset
);&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;Parameters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;lpszServerName&lt;/EM&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. Points to a string that contains the distinguished name (DN) of the server. &lt;BR&gt;&lt;EM&gt;lpguidMdb&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. Points to a GUID that contains the value of the objectGUID attribute of the information store. &lt;BR&gt;&lt;EM&gt;lppTable&lt;/EM&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Output parameter. Points to a MAPI IMAPITable interface containing the information about all of the mailboxes on the server specified in lpszServerName. &lt;BR&gt;&lt;EM&gt;ulFlags&lt;/EM&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. A defined value that specifies whether the server name is Unicode:&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAPI_UNICODE&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The server name is in Unicode format.&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(Zero) The server name is in ASCII format. &lt;BR&gt;&lt;EM&gt;uOffset&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. Indicates the offset to start the table from. This is used for stores that have over 64K mailboxes in them.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;IExchangeManageStore5::GetPublicFolderTableEx&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The GetPublicFolderTableEx method obtains information about all of the public folders on a server in a particular store.&lt;/P&gt;&lt;PRE&gt;HRESULT GetPublicFolderTableEx(
  LPSTR lpszServerName,   
  LPGUID lpguidMdb,    
  LPMAPITABLE FAR * lppTable,  
  ULONG ulFlags,
  UINT uOffset
);&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;Parameters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;lpszServerName&lt;/EM&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. Points to a string that contains the distinguished name (DN) of the server. &lt;BR&gt;&lt;EM&gt;lpguidMdb&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. Points to a GUID that contains the value of the objectGUID attribute of the information store. &lt;BR&gt;&lt;EM&gt;lppTable&lt;/EM&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Output parameter. Points to a MAPI IMAPITable interface containing the information about all of the public folders on the server specified in lpszServerName. &lt;BR&gt;&lt;EM&gt;ulFlags&lt;/EM&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. A defined value that specifies whether the server name is Unicode:&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAPI_UNICODE&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The server name is in Unicode format.&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(Zero) The server name is in ASCII format. &lt;BR&gt;&lt;EM&gt;uOffset&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Input parameter. Indicates the offset to start the table from. This is used for stores that have over 64K public folders in them.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;Sweet! Where do I get this new interface from?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;It's only available in Exchange 2003's version of EMSMDB32.DLL. You'll need Exchange 2003 Service Pack 2 installed, and the hotfix documented in Knowledge Base article 908072. (As of this posting, this article is not yet available on &lt;A href="http://support.microsoft.com/" mce_href="http://support.microsoft.com/"&gt;http://support.microsoft.com&lt;/A&gt;. You can still contact MS support and request the hotfix by referencing the article number though)&lt;/P&gt;
&lt;P&gt;Once you have the hotfix, you'll need the interface definition and IID. These aren't in the headers yet, so you'll need to add them yourself.&lt;/P&gt;
&lt;P&gt;In edkmdb.h, add:&lt;/P&gt;&lt;PRE&gt;/*------------------------------------------------------------------------
 *
 *	"IExchangeManageStore5" Interface Declaration
 *
 *	Used for store management functions.
 *
 *-----------------------------------------------------------------------*/

#define EXCHANGE_IEXCHANGEMANAGESTORE5_METHODS(IPURE)					\
	MAPIMETHOD(GetMailboxTableEx)			\
		(THIS_	LPSTR		lpszServerName,   \
			LPGUID		lpguidMdb,        \
			LPMAPITABLE FAR *	lppTable,	         \
			ULONG		ulFlags,	         \
			UINT		uOffset) IPURE;	\
	MAPIMETHOD(GetPublicFolderTableEx)			\
		(THIS_	LPSTR		lpszServerName,	\
			LPGUID		lpguidMdb,	\
			LPMAPITABLE FAR *	lppTable,		\
			ULONG		ulFlags,		\
			UINT		uOffset) IPURE;	\

#undef		 INTERFACE
#define		 INTERFACE  IExchangeManageStore5
DECLARE_MAPI_INTERFACE_(IExchangeManageStore5, IUnknown)
{
	MAPI_IUNKNOWN_METHODS(PURE)
	EXCHANGE_IEXCHANGEMANAGESTORE_METHODS(PURE)
	EXCHANGE_IEXCHANGEMANAGESTORE2_METHODS(PURE)
	EXCHANGE_IEXCHANGEMANAGESTORE3_METHODS(PURE)
	EXCHANGE_IEXCHANGEMANAGESTORE4_METHODS(PURE)
	EXCHANGE_IEXCHANGEMANAGESTORE5_METHODS(PURE)
};
#undef	IMPL
#define IMPL

DECLARE_MAPI_INTERFACE_PTR(IExchangeManageStore5, LPEXCHANGEMANAGESTORE5);&lt;/PRE&gt;
&lt;P&gt;In edkguid.h, add:&lt;/P&gt;&lt;PRE&gt;DEFINE_GUID(IID_IExchangeManageStore5,0x7907dd18, 0xf141, 0x4676, 0xb1, 0x02, 0x37, 0xc9, 0xd9, 0x36, 0x34, 0x30);&lt;/PRE&gt;
&lt;P&gt;Then you should be all set. Enjoy!&lt;/P&gt;
&lt;P&gt;(Edit: fixed cut/paste typo in GetPublicFolderTableEx description)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=564250" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jasonjoh/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>Outlook Account Management API Sample</title><link>http://blogs.msdn.com/jasonjoh/archive/2005/12/27/outlook-account-management-api-sample.aspx</link><pubDate>Tue, 27 Dec 2005 21:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:507557</guid><dc:creator>jasonjoh</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/507557.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=507557</wfw:commentRss><description>Just a quick entry to post this sample.&amp;nbsp; A few folks have had trouble getting the &lt;A href="http://msdn.microsoft.com/library/en-us/olintapi/html/oliaAbouttheAccountManagementAPI_HV01155186.asp" mce_href="http://msdn.microsoft.com/library/en-us/olintapi/html/oliaAbouttheAccountManagementAPI_HV01155186.asp"&gt;Account Management API&lt;/A&gt; to work correctly.&amp;nbsp; This is a simple sample I wrote to enumerate the accounts in a profile that hopefully will help.&amp;nbsp; Download it &lt;A href="http://flygar.members.winisp.net/AccountMgmt/EnumAccounts.zip" mce_href="http://flygar.members.winisp.net/AccountMgmt/EnumAccounts.zip"&gt;here&lt;/A&gt;.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=507557" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jasonjoh/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>CreateMHTMLBody Won't Read Web Pages Compressed with GZIP</title><link>http://blogs.msdn.com/jasonjoh/archive/2005/12/08/createmhtmlbody-won-t-read-web-pages-compressed-with-gzip.aspx</link><pubDate>Fri, 09 Dec 2005 00:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501760</guid><dc:creator>jasonjoh</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/501760.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=501760</wfw:commentRss><description>&lt;P&gt;The title says it all.&amp;nbsp; If you've got a web page hosted on a site that does GZIP compression, you can't point CDO's &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/a1c19ded-d986-47fa-874f-2b36a9d50e03.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/a1c19ded-d986-47fa-874f-2b36a9d50e03.asp"&gt;CreateMHTMLBody&lt;/A&gt; at it.&amp;nbsp; You'll get back one of a few different errors, depending on your IE setup.&amp;nbsp; The ones I've seen are (with IE 6.0 SP1 installed):&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;"Invalid Syntax" (if you don't have "Automatically Detect Settings" checked in your LAN Settings) 
&lt;LI&gt;"Interface not registered" (if you do have it checked).&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Both of these problems stem from one of CDO's dependencies: URLMON.DLL.&amp;nbsp; CDO uses this component to manage all of the work to actually fetch the web content.&amp;nbsp; We just pass the URL off to URLMON and wait for it to provide us back the HTML.&amp;nbsp; The problem is URLMON handles this through an asynchronous call, so it spins off a worker thread to do the actual work.&amp;nbsp; When this thread gets the content back from the server, it sees that it is GZIP-compressed.&amp;nbsp; It then tries to create a COM object (that URLMON implements) to decompress the content.&amp;nbsp; This is where the fun begins.&lt;/P&gt;
&lt;P&gt;URLMON never calls CoInitialize on this worker thread.&amp;nbsp; So of course we run into problems.&amp;nbsp; The two different errors are just different flavors of COM problems.&amp;nbsp; The first error is caused by a failure to create an IClassFactory interface (COM's not initialized, remember?).&amp;nbsp; The second error results from COM having been initialize by the process, but not on that specific thread.&amp;nbsp; Unfortunately this COM object responsible for decompressing GZIP stuff works only on the STA thread.&lt;/P&gt;
&lt;P&gt;All is not lost though!&amp;nbsp; CDO developers can get around this.&amp;nbsp; You have a number of options.&amp;nbsp; You could disable compression on your website (assuming that the site you're using is under your control).&amp;nbsp; You could turn off HTTP 1.1 (1.1 allows for compression, 1.0 doesn't) in your IE settings (assuming that your app is running in a user's context).&amp;nbsp; Or, you could fix it the right way ;-)&lt;/P&gt;
&lt;P&gt;You can disable HTTP 1.1 for just your process using &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/internetsetoption.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/internetsetoption.asp"&gt;InternetSetOption&lt;/A&gt;.&amp;nbsp; If you do this before making your CreateMHTMLBody call, it will work like a champ.&lt;/P&gt;
&lt;P&gt;In case your interested, here's how to do it in VB.NET:&lt;/P&gt;&lt;PRE&gt;    Private Const INTERNET_OPTION_HTTP_VERSION = 59

    &amp;lt;StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)&amp;gt; _
    Private Class INTERNET_VERSION_INFO
        Public dwMajorVersion As Int32
        Public dwMinorVersion As Int32
    End Class

    &amp;lt;DllImport("wininet.dll")&amp;gt; _
    Private Shared Function InternetSetOption(ByVal hInternet As IntPtr, _
        ByVal dwOption As Integer, _
        ByVal lpBuffer As INTERNET_VERSION_INFO, _
        ByVal dwBufferLength As Integer) As Boolean
    End Function

    Private Sub DisableHTTP1_1()
        Dim verInfo As New INTERNET_VERSION_INFO

        verInfo.dwMajorVersion = 1
        verInfo.dwMinorVersion = 0

        Dim bRet As Boolean
        bRet = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_HTTP_VERSION, _
            verInfo, Marshal.SizeOf(verInfo))

        If bRet = True Then
            MessageBox.Show("HTTP Version set to 1.0", "Success")
        Else
            MessageBox.Show("HTTP Version option not set!", "Error")
        End If
    End Sub&lt;/PRE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=501760" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jasonjoh/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>New Sample Transport Provider</title><link>http://blogs.msdn.com/jasonjoh/archive/2005/11/04/new-sample-transport-provider.aspx</link><pubDate>Fri, 04 Nov 2005 22:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:489201</guid><dc:creator>jasonjoh</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/489201.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=489201</wfw:commentRss><description>&lt;P&gt;I've been working with MAPI for over 5 years now.&amp;nbsp; In that 5 years I've supported my share of developers writing their own MAPI providers (message store, transport, address book), but I've never actually sat down and written one myself.&amp;nbsp; Until now ;-)&lt;/P&gt;
&lt;P&gt;I decided to do a transport, since we already *kinda* have a &lt;a href="http://blogs.msdn.com/stephen_griffin/archive/2004/09/30/236345.aspx"&gt;message store&lt;/A&gt;, and we don't really get a lot of support cases for address book providers.&lt;/P&gt;
&lt;P&gt;So, &lt;A href="http://flygar.members.winisp.net/MRXP/mrxp.zip"&gt;here&lt;/A&gt; it is.&amp;nbsp; I based the actual delivery mechanism on the PeerXP sample from way back.&amp;nbsp; Messages are stored as files on disk, and e-mail addresses are UNC share paths.&lt;/P&gt;
&lt;P&gt;Development was done with Visual Studio 2003 (unmanaged C++ of course!)&amp;nbsp;and testing was done with Outlook 2003 SP2.&amp;nbsp; I included my development notes with the source, and there's a README on basic installation and usage.&lt;/P&gt;
&lt;P&gt;Feedback is welcome!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=489201" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jasonjoh/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>Subject Sorting in Outlook</title><link>http://blogs.msdn.com/jasonjoh/archive/2005/09/07/subject-sorting-in-outlook.aspx</link><pubDate>Wed, 07 Sep 2005 21:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:462052</guid><dc:creator>jasonjoh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/462052.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=462052</wfw:commentRss><description>&lt;P&gt;I just recently worked through an issue where messages in a custom message store would not sort on the Subject field.&amp;nbsp; Other text properties sorted fine, just not Subject.&lt;/P&gt;
&lt;P&gt;The problem was because Outlook doesn't sort the Subject field on PR_SUBJECT.&amp;nbsp; It actually uses &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mapi/html/0b1b6f20-b7a4-4943-85ec-244580426451.asp"&gt;PR_NORMALIZED_SUBJECT&lt;/A&gt;, which should filter out any prefixes from the subject (like RE:, FWD:, etc).&amp;nbsp; So the problem boiled down to the store provider not supplying PR_NORMALIZED_SUBJECT in its contents tables.&lt;/P&gt;
&lt;P&gt;It seemed fairly straightforward.&amp;nbsp; However, when I loaded the provider with &lt;A href="http://support.microsoft.com/kb/291794"&gt;MFCMapi&lt;/A&gt;, I saw that PR_NORMALIZED_SUBJECT wasn't in the table by default, but if I did a SetColumns on the table to add it, it showed up fine.&amp;nbsp; So what gives?&lt;/P&gt;
&lt;P&gt;It turns out that Outlook is assuming that the message store provider will support sorting on a property that is not in the current column set on the table.&amp;nbsp; The provider&amp;nbsp;did not add PR_NORMALIZED_SUBJECT to the underlying data in the table when it&amp;nbsp;first created it, but it&amp;nbsp;would add&amp;nbsp;it dynamically to the table if it was explicitly asked for in a SetColumns.&amp;nbsp; So if Outlook had include PR_NORMALIZED_SUBJECT in its call to SetColumns, this would have worked.&lt;/P&gt;
&lt;P&gt;At first I thought this was&amp;nbsp;a problem with Outlook, but after reading &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mapi/html/006feac2-2e87-4ff1-985b-868b3d4a8e24.asp"&gt;MSDN documentation&lt;/A&gt; and Inside MAPI, I realized that it isn't.&amp;nbsp; A store can choose not to support sorting on properties that aren't in the current column set (by returning MAPI_E_TOO_COMPLEX) but this store did not.&amp;nbsp; Outlook may have still not retried the sort anyway though.&lt;/P&gt;
&lt;P&gt;The solution here was to include PR_NORMALIZED_SUBJECT in the data used to create the table.&amp;nbsp; The provider was using MAPI's implementation of IMAPITable instead of implementing their own, and MAPI's implementation does support sorting on a property that is not in the current column set as long as that property is present in the underlying data.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=462052" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jasonjoh/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item><item><title>PR_MAPPING_SIGNATURE and custom message stores</title><link>http://blogs.msdn.com/jasonjoh/archive/2005/01/05/pr-mapping-signature-and-custom-message-stores.aspx</link><pubDate>Wed, 05 Jan 2005 21:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:346985</guid><dc:creator>jasonjoh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jasonjoh/comments/346985.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jasonjoh/commentrss.aspx?PostID=346985</wfw:commentRss><description>&lt;p&gt;I was pulled into a neat little issue with a custom message store that didn't behave correctly with appointments in Outlook.&amp;nbsp; It seems that everything was created fine, and Outlook set all of the named properties correctly on appointments.&amp;nbsp; The custom store was supporting named properties correctly and exposing them in their contents tables, so Outlook was happy.&amp;nbsp; Different calendar views worked great.&lt;/p&gt; &lt;p&gt;However, things got weird once you started a new MAPI session.&amp;nbsp; For reasons specific to the custom store, it decided to change it's named property-to-proptag mapping.&amp;nbsp; Of course, this is perfectly legal, no reason they shouldn't be able to do that.&amp;nbsp; The thing is, it totally hosed Outlook's calendar views.&amp;nbsp; All of the sudden, appointments lost their start times, end times, etc!!&lt;/p&gt; &lt;p&gt;We started debugging Outlook, and the weird thing was that Outlook didn't seem to be calling GetIDsFromNames on these subsequent sessions.&amp;nbsp; The first time we logon to a new profile it does (and everything works), but subsequent times we don't.&amp;nbsp; So you see why changing the named property mappings breaks things: if Outlook believes that the named property for the start time is 0x8000, and it's been changed to 0x8001, then things break.&amp;nbsp; Everything would be great if Outlook just called GetIDsFromNames every time (or at least once every new session), but it doesn't.&amp;nbsp; So what gives?&lt;/p&gt; &lt;p&gt;It all comes down to &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mapi/html/8cd31191-a344-4775-9e7b-485f975208d0.asp"&gt;PR_MAPPING_SIGNATURE&lt;/a&gt;.&amp;nbsp; Go read the MSDN notes on this property.&amp;nbsp; It doesn't have a section specifically regarding how to implement this property, so you kind of have to extrapolate.&amp;nbsp; The key nugget from this is: &lt;strong&gt;When two objects have the same PR_MAPPING_SIGNATURE value, the client does not need to translate name to identifier and identifier to name.&amp;nbsp; &lt;/strong&gt;Can you guess where this custom store went wrong?&amp;nbsp; Exactly: they were using the same PR_MAPPING_SIGNATURE across sessions, even if they changed their named property mapping!&lt;/p&gt; &lt;p&gt;Outlook stores the value of PR_MAPPING_SIGNATURE for your store in a property in the profile.&amp;nbsp; Once that property is there, every time you open Outlook with that profile, it checks this value and compares to what it gets back from your store.&amp;nbsp; If the values match, then Outlook assumes that the named property mapping it got from the prior session is still valid to use, and skips the GetIDsFromNames call.&amp;nbsp; If the values don't match (or if the property isn't there in the profile) then Outlook discards it's old property mapping data and does&amp;nbsp;a GetIDsFromNames call.&lt;/p&gt; &lt;p&gt;So, if your store provider supports PR_MAPPING_SIGNATURE, you need to make sure that you change its value when you change your named property mappings to ensure that everything works properly.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=346985" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jasonjoh/archive/tags/DevMsgTeam/default.aspx">DevMsgTeam</category></item></channel></rss>