Configuring and manging Outlook’s Autocomplete Cache


Overview

Outlook cannot be configured for selective (criteria based) caching of entries in the autocomplete stream.

In addition, individual entries cannot be removed by standard programmatic means. Individual entries can be removed manually using the Outlook client.

More information

The autocomplete stream is a set of recipient property rows that are saved as a binary stream together with some bookkeeping metadata that is used only by Microsoft Outlook 2013, Microsoft Outlook 2010, Microsoft Office Outlook 2007, and Microsoft Outlook 2003. The metadata is relevant to Outlook interactions with the autocomplete stream so third parties must preserve what is in each metadata block when they save a modified autocomplete stream. In other words, third parties should modify only the row-set part of the binary format and preserve what was already in the metadata blocks of the autocomplete stream.

The autocomplete stream structure is documented on msdn.

Outlook 2003 and Outlook 2007

For Outlook 2007 and older versions, the autocomplete stream is stored in a file with the same name as the profile and an extension of  .nk2. For example, if the default profile of "outlook" is used, the file will be called "outlook.nk2". The .nk2 file is stored in %APPDATA%\Microsoft\Outlook. For more information about the nickname cache binary file format, see Outlook 2003/2007 NK2 File Format and Developer Guidelines.

Outlook 2010 and Outlook 2013

Outlook 2010 or Outlook 2013 reads the autocomplete stream from a message in the Associated Contents table of the Inbox of the mail account's delivery store. This hidden message has a message class and subject of IPM.Configuration.Autocomplete. The autocomplete stream is stored on this message in the PR_ROAMING_BINARYSTREAM property (PidTagRoamingBinary Canonical Property). The autocomplete data may be temporarily cached in an autocomplete .dat file located in %USERPROFILE%\AppData\Local\Microsoft\Outlook\RoamCache. However, the .dat file is only a cache and is not used to write back to the delivery store when the user exits Outlook 2010 or Outlook 2013.

The current implementation in Outlook only allows enabling, disabling and clearing the autocomplete cache. Outlook doesn't allow for selective caching of entries in the autocomplete cache. All recipients that are types in the To, CC and BCC fields will be cached and there are no means, programmatic or out of the box for changing this.

Furthermore, individual entries can only be removed manually via the Outlook client. There are no standard programmatic means of removing individual entries.

For more information about the Outlook AutoComplete list as well as instructions on enabling, disabling and removing entries from the cache, please visit this support website.

Revisions

Original version: 2017-07-31

Comments (0)

Skip to main content