Showing posts with label MicrosoftOutlook. Show all posts
Showing posts with label MicrosoftOutlook. Show all posts

Wednesday, July 16, 2014

Why does CTRL-F in Outlook Forward and not Find?

The Old New Thing - Why does Outlook map Ctrl+F to Forward instead of Find, like all right-thinking programs?

It's a widespread convention that the Ctrl+F keyboard shortcut initiates a Find operation. Word does it, Excel does it, Wordpad does it, Notepad does it, Internet Explorer does it. But Outlook doesn't. Why doesn't Outlook get with the program?

Rewind to 1995.

The mail team was hard at work on their mail client, known as Exchange...

And then a bug report came in from a beta tester who wanted Ctrl+F to forward ...

That beta tester was.. [Click through I don't want to steal all his thunder... sorry ;]

So now I know who to blame! Man, I hate that CTRL-F doesn't Find in the main Outlook shell. Boy, if I ever chat with him (LMAO, Like THAT'S ever going to happen... lol)

Tuesday, June 10, 2014

MAPI ain't dead, it's MAPI/HTTP!

A few years ago I reblogged about a post that implied MAPI was dead, Exchange 2013 says "See ya MAPI and goodbye Outlook 2003!" Exchange 2013 drops MAPI support.

Well it ain't. MAPI over TCP is (dead'ish), but MAPI itself is alive and well and moving forward into a more connected world...

João Ribeiro - What is MAPI over HTTP ?

MAPI over HTTP is a new transport used to connect Outlook and Exchange. MAPI/HTTP was first delivered with Exchange 2013 SP1 and Outlook 2013 SP1 and begins gradually rolling out in Office 365 in May. It is the long term replacement for RPC over HTTP connectivity (commonly referred to as Outlook Anywhere). MAPI/HTTP removes the complexity of Outlook Anywhere’s dependency on the legacy RPC technology.


The Exchange Team Blog - Outlook Connectivity with MAPI over HTTP

Among the many new features delivered in Exchange 2013 SP1 is a new method of connectivity to Outlook we refer to as MAPI over HTTP (or MAPI/HTTP for short). We’ve seen a lot of interest about this new connection method and today we’ll give you a full explanation of what it is, what it provides, where it will take us in the future, and finally some tips of how and where to get started enabling this for your users.

What is MAPI over HTTP?

MAPI over HTTP is a new transport used to connect Outlook and Exchange. MAPI/HTTP was first delivered with Exchange 2013 SP1 and Outlook 2013 SP1 and begins gradually rolling out in Office 365 in May. It is the long term replacement for RPC over HTTP connectivity (commonly referred to as Outlook Anywhere). MAPI/HTTP removes the complexity of Outlook Anywhere’s dependency on the legacy RPC technology. Let’s compare the architectures.


MAPI/HTTP moves connectivity to a true HTTP request/response pattern and no longer requires two long-lived TCP connections to be open for each session between Outlook and Exchange. Gone are the twin RPC_DATA_IN and RPC_DATA_OUT connections required in the past for each RPC/HTTP session. This change will reduce the number of concurrent TCP connections established between the client and server. MAPI/HTTP will generate a maximum of 2 current connections generating one long lived connection and an additional on-demand short-lived connection.

Outlook Anywhere also essentially double wrapped all of the communications with Exchange adding to the complexity. MAPI/HTTP removes the RPC encapsulation within HTTP packets sent across the network making MAPI/HTTP a more well understood and predictable HTTP payload.

An additional network level change is that MAPI/HTTP decouples the client/server session from the underlying network connection. With Outlook Anywhere connectivity, if a network connection was lost between client and server, the session was invalidated and had to be reestablished all over again, which is a time-consuming and expensive operation. In MAPI/HTTP when a network connection is lost the session itself is not reset for 15 minutes and the client can simply reconnect and continue where it left off before the network level interruption took place. This is extremely helpful for users who might be connecting from low quality networks. Additionally in the past, an unexpected server-side network blip would result in all client sessions being invalidated and a surge of reconnections being made to a mailbox server. Depending on the number of Outlook clients reconnecting, the re-establishing of so many RPC/HTTP connections might strain the resources of the mailbox server, and possibly extend the outage in scope (to Outlook clients connected to multiple servers) and time, caused by a single server-side network blip.

Why MAPI over HTTP?


settings. This makes it easier to roll out changes in authentication settings for Outlook.

The future

MAPI/HTTP puts the Exchange team in position to innovate more quickly. It simplifies the architecture removing dependency on the RPC technologies which are no longer evolving as quickly as the customers demand. It provides the path for extensibility of the connection capabilities. A new capability that is on the roadmap for Outlook is to enable multi-factor authentication for users in Office 365. This capability is made possible with the use of MAPI/HTTP and is targeted to be delivered later this year. For a deeper look at this upcoming feature you can review the recent Multi-Factor Authentication for Office 365 blog post. This won’t stop with Office 365 MFA, but provides the extensibility foundation for 3rdparty identity providers.

How does MAPI/HTTP work?

Let’s walk through the scenario of an Outlook 2013 SP1 client connecting to Exchange Server 2013 SP1 after MAPI/HTTP has been enabled.


What’s required?

So now we have a clear set of advantages you can offer users, let’s review the requirements to enable MAPI/HTTP.


Now deploy MAPI/HTTP

Now that you have prepared your servers with SP1, updated your clients, and reviewed potential sizing impacts you are ready to get on with implementing MAPI/HTTP. It is disabled by default in SP1 and you must take explicit actions to configure and enable it. These steps are well covered in the MAPI over HTTPTechNet article.

A few important things to remember in your deployment.


How do I know it is working?

There are a few quick ways to verify your configuration is working as expected.



MAPI/HTTP provides a simplified transport and resulting architecture for Outlook to connect with Exchange. It enables improved user experiences to allow them faster access to mail and improves the resilience of their Outlook connections. These investments are the foundation for future capabilities such as multi-factor authentication in Outlook. It also helps IT support and troubleshoot client connection issues using standard HTTP protocol tools.

As with all things new you must properly plan your implementation. Use the deployment guidanceavailable on TechNet and the updated sizing recommendations in the calculator before you start your deployment. With proper use it will guide you to a smooth deployment of MAPI/HTTP.

Special thanks to Brian Day and Abdel Bahgat for extensive contributions to this blog post.

Brian Shiers | Technical Product Manager


We collected a number of questions which frequently came up during the development, internal dogfooding, and customer TAPtesting of MAPI/HTTP. We hope these answer most of the questions you may have about MAPI/HTTP.


So there, MAPI ain't dead, but is instead better than ever!

Thursday, March 13, 2014

Head Shrinking in Outlook... (As in using the new Outlook 2013 SP1 Compact Header Display...)

Office Blogs - Compact message header in Outlook 2013

We are excited to announce that we’ve taken all the feedback we’ve received and used it to design a compact version of the email message header in Outlook 2013. The new message header gives you control over the header information you see, so that you can concentrate on what matters most: the content of the message. We really like it, and we think you will too.

Expanded or collapsed? You decide.

We’ve made it incredibly simple. You can decide which view of the message header you like. Do you want to show the traditional header? Or do you want to focus on message content and get rid of excess chrome? You can switch between displays with just a click.


  • Is that all it does? ...
  • Sometimes my reading pane is really, narrow. What happens then? ...
  • How do I see all the To and Cc information? ...
  • Continue to stay connected with the people that matter most. ...


Q. When will compact message header in Outlook 2013 be available?

A. Compact message header in Outlook 2013 is available as part of last month’s updates for Office 365 subscribers as well as Office 2013 Service Pack 1.

This is another of those things you might not ever see unless your shown or told about it. I have a Mostly love-Little Hate relationship with Outlook 2013, but while this doesn't tip the balance either way, it is kind of cool, especially on my 13" notebook display where every pixel counts.

Thursday, January 16, 2014

Third Party Office Library or OpenXML?

CodePlex - Aspose for OpenXML

The Open XML SDK for Office simplifies the task of manipulating Open XML packages and the underlying Open XML schema elements within a package. The classes in the Open XML SDK encapsulate many common tasks that developers perform on Open XML packages, so that you can perform complex operations with lines of code.

Using the classes in the Open XML SDK 2.5 is simple. When you have installed the Open XML SDK 2.5, open your existing project or application in Visual Studio, or create a new project or application. Then, in your project or application, add references to the following components:

  • DocumentFormat.OpenXml
  • WindowsBase
To add a reference in a Microsoft Visual Studio project
  • In Solution Explorer, right-click References and then click Add Reference. If the References node is not visible, click Project and then click Show All Files.
  • In the Add Reference dialog box, click .NET.
  • In the Component Name column, select the components (scroll if you need to), and then click OK.

This project covers the following topics:

What is the use of Aspose .NET Products?

Aspose are file format experts and provide APIs and components for various file formats including MS Office, OpenOffice, PDF and Image formats. These APIs are available on a number of development platforms including .NET frameworks – the .NET frameworks starting from version 2.0 are supported. If you are a .NET developer, you can use Aspose’s native .NET APIs in your .NET applications to process various file formats in just a few lines of codes. All the Aspose APIs don’t have any dependency over any other engine. For example, you don’t need to have MS Office installed on the server to process MS Office files. Below is a list of products we support for .NET developers:


I've mentioned OpenXML in the past and that it's cool that you can use it to get all the deep deep data in Office *x files? Then you've also heard me say what a pain it can be if you're used to a more traditional Office Object Model. It's a completely different way of thinking about your documents... And doing that hurts my brain. So I go out of my way to find libraries that make it easier. One such, that we've bought in my day job, is Aspose. If you've read any MS dev mag, you've seen the ads for them.

I ran across this and sure, it's sales-ware, still it's useful to OpenXML dev's does a good job of showing the differences between the two approaches...

OpenXML SDK Word Processing Code Snippets - Create a word processing document


IMHO, if you can, use a third party library, free or commercial. OpenXML might get the job done and it is free, but the time you spend on it isn't (And remember, friends don't let friend Office interop!)

Thursday, November 21, 2013

Office/Exchange File Format,Specification and Protocol Documentation refreshed

Microsoft Office File Formats Documentation

The Microsoft Office file formats documentation provides detailed technical specifications for Microsoft proprietary file formats.

The documentation includes a set of companion overview and reference documents that supplement the technical specifications with conceptual background, overviews of file format relationships and interactions, and technical reference information.

Date Published:



File name:
File size:

70.8 MB


137 KB


356 KB


419 KB


19.1 MB


485 KB


139 KB


840 KB


23.3 MB


1.6 MB


2.8 MB


766 KB


5.9 MB


1.4 MB


5.9 MB


3.1 MB


3.5 MB


6.3 MB


2.9 MB


1.1 MB


23.3 MB


5.7 MB


599 KB


3.8 MB


41.5 MB


41.1 MB

Microsoft Office Protocol Documentation

The Office protocol documentation provides detailed technical specifications for Microsoft proprietary protocols (including extensions to industry-standard or other published protocols) that are implemented and used in Microsoft Office client programs to interoperate or communicate with Microsoft products.

The documentation includes a set of companion overview and reference documents that supplement the technical specifications with conceptual background, overviews of inter-protocol relationships and interactions, and technical reference information.

Date Published:



File name:
File size:

59.4 MB


147 KB


2.5 MB


916 KB


1,009 KB

Word, Excel, and PowerPoint Standards Support

This documentation provides detailed support information for the Open Document Format (ODF) and Open XML (ECMA-376 and ISO/IEC-29500) file formats implemented in Microsoft Word, Microsoft Excel, and Microsoft PowerPoint.

Date Published:



File name:
File size:

38.8 MB


140 KB


11.1 MB


3.3 MB


2.4 MB

Microsoft Exchange and Microsoft Outlook Standards Documentation

The Microsoft Exchange and Microsoft Outlook standards documentation describes how Exchange and Outlook support industry messaging standards and Requests for Comments (RFCs) documents about iCalendar, Internet Message Access Protocol – Version 4 (IMAP4), and Post Office Protocol – Version 3 (POP3).


Date Published:



File name:
File size:

4.0 MB


143 KB


668 KB


710 KB


2.3 MB

That's some lite reading for the coming holidays... :)


Related Past Post XRef:
Microsoft Format and Specification Documentation 0712 Refresh (Think Office 2013 CP update). Oh and some SharePoint Doc's too
Microsoft Format and Specification Documentation Refresh ("Significantly changed technical content") [Updated: Includes updates for Office 15 Technical Preview ]
Microsoft Office File Formats and Microsoft Office Protocols Documentation Refreshed
Microsoft Office File Formats and Protocols documentation updated for Office 2010 (Think “Now with added ‘X’ flavor… DocX, PptX, XlsX, etc”)

Microsoft Open Specifications Poster

XAML Language Specification (as in the in the full XAML, WPF and Silverlight XAML Specs)

"Microsoft SQL Server Data Portability Documentation"

MS-PST file format specification released. Yep, the full and complete specification for Outlook PST’s is now just a download away.
Microsoft Office (DOC, XLS, PPT) Binary File Format Specifications Released – We’re talking the full technical specification… (The [MS-DOC].pdf alone is 553 pages of very dense specification information)
DOC, XLS and PPT Binary File Format Specifications Released (plus WMF, Windows Compound File [aka OLE 2.0 Structured Storage] and Ink Serialized Format Specifications and Translator to XML news)

Pst... Storing PST's on a network share? Still a no-no...

Limits to using personal folders (.pst) files over LAN and WAN links

This article contains guidance on the limitations of using of personal folders (.pst) files over a local area network (LAN) or wide area network (WAN) link. Note that .pst files are not meant to be a long-term, continuous-use method of storing messages in an enterprise environment.


The Microsoft Exchange Server 4.0 team created .pst files in order to let users maintain a copy of their messages on their local computers. The .pst files also serve as a message store for users who do not have access to a Microsoft Exchange Server computer (for example, POP3 or IMAP email users). 

However, .pst files are not intended as an enterprise network solution. Although it is possible to specify a network directory or a Universal Naming Convention (UNC) path as a storage location for a .pst file, network usage is not meant to be a long-term, continuous-use method of storing messages in an enterprise environment. 

A .pst file is a file-access-driven method of message storage. File-access-driven means that the computer uses special file access commands that the operating system provides to read and write data to the file.
This is not efficient on WAN or LAN links because WAN and LAN links use network-access-driven methods. These are commands that the operating system provides to send data to, or receive from, another networked computer. If there is a remote .pst file (over a network link), Outlook tries to use the file commands to read from the file or write to the file. However, the operating system must then send those commands over the network because the file is not located on the local computer. This creates lots of overhead and increases the time that is required to read and write to the file. Additionally, the use of a .pst file over a network connection may result in a corrupted .pst file if the connection degrades or fails.

For more information about issues that you may experience with network storage devices or with servers that host shares, visit the following Microsoft website:

Other behaviors of .pst files over WAN and LAN links

  • All operations take longer.
  • Write operations can take approximately four times longer than read operations.
  • Outlook has slower performance than the Exchange Client.

Because of these behaviors, Offline Folders (.ost) files and Personal Address Book (.pab) files on a network share that are accessed remotely are also unsupported configurations.


What to consider when you store .pst files

When you store .pst files, shares may stop responding. This behavior may cause several client-side problems, such as causing Outlook to stop responding or freezing desktops on client computers. Queuing in the Server service work queues is what causes this temporary condition. The Server service uses work items, such as a request to extend a .pst file, to handle I/O requests that come in over the network. These work items are queued in the Server service work queues. From there, they are handled by the Server service worker threads. The work items are allocated from a kernel resource that is called the nonpaged pool (NPP). The Server service sends these I/O requests to the disk subsystem. If, for reasons that are mentioned earlier, the disk subsystem does not respond in time, the incoming I/O requests are queued by using work items in the server work queues. Because these work items are allocated from the NPP, this resource eventually runs out. Running out of NPP causes systems to eventually stop responding and to log event ID 2019.

If you troubleshoot this issue, you can usually find evidence of a problem in Poolmon and Perfmon captures. For example, you may see the LSwn pool tag allocation climb in a Poolmon trace. These allocations are made by the Srv.sys program. The size of the allocation is configurable by using the SizReqBuf registry value. One allocation is made for each work item that is used by the Server service. When you use Perfmon to troubleshoot this issue, you see a steady decrease in the "Available Work Items" counter. If "Available Work Items" reaches zero, clients may be unable to access files. You may also experience event ID 2019 errors if the problem is LSwn allocations (NPP depletion). Another tag that indicates .pst file issues is the MmSt tag. This tag represents the Mm section object prototype PTEs, a memory management-related structure that is used for mapped files. (This is the pool tag that is used to map the operating system memory that is used to track shared files.) MmSt issues frequently manifest as paged pool depletion (Event ID 2020).


That said, there is ONE scenario that is supported;

Outlook 2013 or Outlook 2010 hosted remotely by using Windows Server 2008 R2 Remote Desktop Session Host (RDSH) or Virtual Desktop Infrastructure (VDI) configuration

Outlook 2013 and Outlook 2010 functionality is supported when networked .pst or .ost files are used under the following conditions: 
  • A high bandwidth/low latency network connection is used.
  • There is single client access per file (one Outlook client per .pst or .ost).
  • Either Windows Server 2008 R2 Remote Desktop Session Host (RDSH) or Windows Server 2008 R2 Virtual Desktop Infrastructure (VDI) is used to run Outlook remotely.


In general, network share hosting of PST's is "bad" and the long you have them open, the more likely your going to jack them up. Also the impact on your file servers is pretty killer... BTW, this isn't new, there's guidance going back a decade that this is "bad."