Outlook 2013 Click To Run and COM Interfaces

In this article I’ll go over the current state of Outlook 2013 Click To Run (C2R)and support for various programmatic interfaces. Please comment on any areas I’ve missed and I’ll update the article accordingly. With Outlook 2013, we enabled something we had never supported before, side by side (SxS)  installation with other versions of Outlook….


Prefix Searching the PST

Here’s a neat trick: Load a PST into Outlook and pick a folder with some messages in it Go to Advance Find -> Advanced -> Field -> All mail Fields –> From Select condition”’word starts with”. Enter the last part of an e-mail address of a sender of a message in your folder. Click on…


Mail Apps and OAuth (AKA “Your Mail App is Busted”)

Jens has a really good post over on his blog about an issue he faced trying to configure OAuth integration between Lync Server 2013 and Exchange Server 2013: http://blogs.technet.com/b/jenstr/archive/2012/11/22/getting-internal-server-error-500-when-creating-new-cspartnerapplication-for-exchange-2013.aspx Why do I point this out? Because the same issue he saw is the one that’s been causing my Message Header Analyzer app for Office to…


Using MAPI In An Installer

If you have an installer which uses MAPI, specifically, which calls MAPIInitialize, you should be aware of this. After calling MAPIInitialize from the installer, you may note that you can no longer start Outlook! This only happens with Outlook 2010 and higher. This was initially reported here: http://social.msdn.microsoft.com/forums/office/en-US/4cd23859-c5f5-40b2-a294-48cfc24bdc99/mapiinitialize-cause-outlook-2010-to-not-start-up, but I didn’t see it until recently….


Exchange 2013 OWA URLs

If you dig around in the EWS documentation, you’ll find this element: WebClientReadFormQueryString, which should give you a URL for an item in OWA. When Exchange Server 2013 shipped, we had some EWS developers who noticed this element was still giving out URLs in Exchange Server 2010’s OWA URL format, which no longer works with…


March 2013 Second Release of MFCMAPI and MrMAPI

The March 2013 Second Release (build 15.0.0.1039) is live: http://mfcmapi.codeplex.com. This is an emergency build to correct a problem a few people were having running MFCMAPI on Windows XP. Here’s a change list – see the Issue Tracker on Codeplex for more details, or look at the code: MFCMAPI: On Windows XP, got an error…


Exchange 2013 Recipient Properties On Sent Items

http://msdn.microsoft.com/en-us/library/ee159108(v=exchg.80).aspxIf you’ve got an application that processes e-mails paying attention to the PR_RECEIVED_BY_* and PR_RCVD_REPRESENTING_* properties, you may notice these properties showing up on e-mails in the Sent Items folders of your users. That is, messages submitted by a user who doesn’t explicitly mark themselves as a recipient will still appear (in these properties) as…


Custom Providers and Outlook 2013

Some of you may have already noticed this by now, but the logic used to load MAPI providers has changed in Outlook 2013. Previously, we would use LoadLibrary to load a MAPI provider. This API has logic in it to search the user’s PATH for the provider, which is great if you placed the provider…


MAPICDO and the Impersonation Hang

So – there’s a potential hang in the current builds of MAPICDO, but you can avoid it, so it doesn’t have to be a huge problem. The repro scenario for the hang is this: You’ve got an application which does thread level impersonation and also uses MAPI. Your application starts up multiple threads under different…


MAPICDO, Distribution Lists, and Exchange 2010

One of the lesser known tricks in MAPI is that when you open a distribution list (MAPI_DISTLIST) from an address book using OpenEntry, if you don’t specify an interface what you get is not an IMailUser, but is in fact an IDistList, which inherits from IMAPIContainer. This gives you a means to access the members…