MAPI Download 6.5.8190

I just got back from a vacation to Italy, Greece and Turkey. While I was out, we shipped a new update for the MAPI download. I got a number of requests for release notes, so here we go.

Installation details:

  • This version is 6.5.8190.0. Most files in the update are dated October 7th, 2010, with a few dated on the 4th.
  • If you already have a version of the MAPI Download installed, you must uninstall it before installing the new version. The installer does not upgrade, nor does it warn you if you try to install it without uninstalling the previous version.


  • Hang in emsmdb32 during shutdown: More precisely, this is a high CPU hang with both the client thread and a background thread each waiting for the other to complete some work. The background thread will be calling Sleep in a loop.
  • Thread handle leak: To see this one, you need code which logs on and off of mailboxes in a loop. Using Perfmon, you can track the thread handle count getting higher and higher, without the actual thread count increasing. This issue may also manifest as 9646 errors on the Exchange server.
  • Intermittent MAPI_E_NETWORK_ERROR from random MAPI calls while multithreading: MAPI_E_NETWORK_ERROR is a legitimate error which can crop up for a variety of non-MAPI-bug reasons (such as, say, a router eating packets), but this one was a specific issue in how emsmdb32 handled tearing down connections. Essentially, closing one connection was closing all of them, causing successful connections to become non-functioning.
  • First chance AV during emsmdb32 unload: This is the issue I mentioned before that wasn’t fixed in 8165.


Comments (14)

  1. Pete Barber says:

    What's the relationship between MAPI Download that MAPI that ships with Outlook?

  2. Outlook has its own implementation of MAPI. The phrase "MAPI Download that MAPI that ships with Outlook" doesn't make sense to me.

  3. Rolf Falnes says:

    Is there a CDO-only version of 6.5.8190?

  4. It doesn't look like we updated it:…/details.aspx

    Keep in mind though that nothing changed in CDO in this last update.

  5. Marimuthu49 says:


    In MFCMAPI we can't able to view the rules table using "Display Rules Table" option. While clicking the option we got an error


    Code: MAPI_E_INTERFACE_NOT_SUPPORTED == 0x80004002

    Function lpMAPIProp->OpenProperty( ulPropTag, (LPGUID)&IID_IExchangeModifyTable, 0, MAPI_DEFERRED_ERRORS, (LPUNKNOWN FAR *)&lpExchTbl)

    File .MFCUtilityFunctions.cpp

    Line 313


    Code: MAPI_E_INTERFACE_NOT_SUPPORTED == 0x80004002

    Function DisplayExchangeTable( lpMAPIFolder, PR_RULES_TABLE, otRules, this)

    File .MsgStoreDlg.cpp

    Line 310

    Please reply, how to view the rules table through MFCMAPI. Awaiting your response.

  6. The problem is you're looking at a cached mode profile, which doesn't support this interface. You need to connect directly to the Exchange server, either by creating an uncached profile, or by checking the MDB_ONLINE and MAPI_NO_CACHE options in MFCMAPI's option menu.

  7. Marimuthu49 says:

    Also please confirm, Whether rules created in the outlook account will be stored in PST itself or in some other file? From the search i find that all the rules will be stored in the PST itself.

    Please confirm the same.

  8. With an Exchange mailbox, the rules are stored in Exchange. For a POP/SMTP/IMAP mailbox, the rules are stored in the PST.

  9. Marimuthu49 says:

    We are looking for the outlook profile. While opening the outlook profile in MFCMAPI, we are unable to view the "Display Rules Table". The same error came while using the outlook profile –


    Code: MAPI_E_INTERFACE_NOT_SUPPORTED == 0x80004002

    Function lpMAPIProp->OpenProperty( ulPropTag, (LPGUID)&IID_IExchangeModifyTable, 0, MAPI_DEFERRED_ERRORS, (LPUNKNOWN FAR *)&lpExchTbl)

    File .MFCUtilityFunctions.cpp

    Line 313

    Can u please give the steps to view the Outlook PST Rules table in the MFC MAPI.

    Awaiting your response.

  10. The PST doesn't support the rules table interface. Rules in a PST are stored as messages in the associated contents table of the inbox.

  11. Marimuthu49 says:

    Hi Stephen,

    We are trying to copy the outlook PST file into the new PST file using MAPI. We are successfully copied all the email data. However, how can we copy the Rules created for the PST file using MAPI?

    Rules for the PST file stored in which property tag? please provide the information regarding the Property Tag which stored the Rules information for the PST files.

    Thanks in advance.

    Awaiting your response.

  12. Just copy the rules messages from the associated contents table of the inbox of the source PST into the same location in the target PST. You don't need to know anything about the storage format or properties.

  13. Marimuthu49 says:

    Hi Stephen,

    I have two questions to clarify with you.

    1. I am copying the outlook pst emails to my own pst, by configuring the my own pst in the outlook profile. After configuring my own pst, am copying the emails from outlook pst to my own pst. During this copy process time, my own pst is visible in the outlook console. Is it possible, not showing my own pst in the outlook console?.

    2. If any of the PST protected with the password, while opening the outlook pst  message store, it asking password to open the store.

      1. Is it possible to open the PST without password?.

      2. Is it possible to open the pst with password in our code itself, instead prompting to the user during the open process?.

    Awaiting your response.

  14. You can't hide the PST – if you add it to the profile Outlook is showing it will show in Outlook. But you can put the PST in a new profile and delete the profile immediately after logging on to it.

    As for passwords, you probably want to play with this property:…/dd941361.aspx

    Read more here:…/open-password-protected-pst-files-programatically.aspx