This Just In: MAPI and Windows Server 2008 Now Get Along

The MAPI/CDO download package now works on Windows Server 2008 and Vista. The main blocker to getting this to work was the fact that in Windows Server 2008 and Vista, mapi32.dll was marked as a system file. Any attempt to replace it would be blocked or undone. Exchange’s MAPI has always replaced mapi32.dll with its own version, so it couldn’t work on those operating systems.

The fix is modify Exchange’s MAPI to take advantage of the MAPI Stub Library mechanism. We moved Exchange’s MAPI binaries out of system32/syswow64 and placed them under C:Program FilesExchangeMAPI (“Program Files (x86)” on a 64 bit machine). We also renamed Exchange’s mapi32.dll binary. It’s now called ExMAPI32.dll.

Some notes:

  • If you’ve installed an earlier version of this download on a machine and wish to upgrade, you must uninstall the earlier version first. It will not upgrade in place, and may even claim to have successfully installed.
  • Mapi32.dll in the system directory should be version 1.0.xxxx. If it’s 6.5.xxxx, then the stub is not in place. Use FixMAPI.exe to correct this before installing the updated MAPI download.
  • The version number of the Windows Server 2008/Vista compatible download is 06.05.8022.0.
  • MAPI and CDO are still 32 bit only – it will install and work on a 64 bit machine, but only when used from a 32 bit program.
  • MAPISVC.inf in the system directory will be updated with Exchange’s providers, but the date may not be changed. I just noticed this when testing the installer on a machine here.
  • The installer adds the MAPI install directory to the PATH statement. This MUST NOT be removed. It is required to allow DLL dependencies to work correctly.
  • Session 0 Isolation causes problems with our fix to the deleted profile issue. With that fix in place, a normal user (who lacks SeCreateGlobalPrivilege) wouldn’t be able to use MAPI at all. So we modified the fix to attempt the global namespace first (which will fail for a normal user), then fall back to a local namespace. This means it is possible for a normal user to log on to a server twice with Terminal Services and delete a profile from one session that is in use under another session. To help identify this scenario, there’s a new error code which will be seen by MAPI applications if this happens: MAPI_E_PROFILE_DELETED (0x80040204).
  • The download enters Extended Support in April 2009. That doesn’t mean the download will be removed then, but don’t expect updates to it.

Update: Looks like the Ehlo blog picked this up. Welcome Ehlo readers! I was involved in getting this update done, so lemme know if you have any questions.

Comments (57)

  1. Sridhar says:


    Any time period  for 64 bit MAPI release  ??



  2. There have been no announcements regarding a 64 bit MAPI.

  3. J says:

    Has anything else changed in this update or is it just introducing Windows Server 2008/Vista support?

  4. In addition to the session 0 isolation issue, we also fixed an unreported crash scenario. The move from system32 to program files is a fairly large and potentially destabilizing move though. You should definitely test your applications with this update.

  5. Well, that didn’t take long. We just released of the latest MAPI download this weekend and yesterday

  6. JP says:

    It appears that one of the new dll’s is changing the current working directory of the loading process to "C:Program FilesExchangeMAPI" and breaking some applications.

    Also, adding this directory to the path will not work in all/most cases since windowssystem32 precedes it.  Uninstalling the previous version (7974) did not remove the dll’s from the windowssystem32 directory… perhaps that is why the current working directory is changed?

  7. I didn’t think we were changing the working directory, but I’ll check on that. On the uninstall, if an application was using the DLLs then they’d have to be scheduled for deletion on reboot – perhaps that’s why the uninstall failed?

  8. JP says:

    I just did a quick test program and its MAPIInitialize() that’s changing the directory.

  9. Lev says:

    is there a new version of MERGEINI that would work with WS 08?

  10. Wow – haven’t seen that tool in ages. All it does is simple text manipulation. In fact, since mapisvc.inf is nothing more than a .ini file, the Windows INI functions work ( See HrSetProfileParameters in the MFCMAPI code.

  11. RDMTECH says:

    I just installed Backup Exec 12 on my 2008 server running Exchange 2007.  I have been bouncing back and forth between Microsoft and Symantec trying to get v12 to restore mail boxes.  Symantec is blaming MAPI and Microsoft insists MAPI is configured properly.  Based on your notes everything appears correct, but Symantec believes that having MAPI32.DLL and MAPISTUB.DLL (both v1.0.2536) in the SysWOW64 folder is an issue.  I am stuck in the middle with no clue what to do.

  12. Send me a mail with your case number and I can check on the status from our side.

  13. Sorry for not posting this sooner – I just found out about it today. As I noted previously , we recently

  14. We recently released a downloadable Exchange System Manager (ESM) for Exchange 2003 which can be installed

  15. Chuck says:

    The ESM for Vista won’t install on a W2K8/x64

    machine.  It complains "You are not running Vista".  Will there be an update to correct his?


  16. The ESM for Vista is just that – it’s a version of ESM designed to install and run on Vista. For W2k8 you can just install the regular ESM from the Exchange CD.

  17. Chuck says:

    ESM 2003 won’t install on W2K8/x64.

    It complains: "Program is Blocked due to compatibility issues". I have not found any info

    on M/S site (yet) about this issue.

  18. Exchange 2003 isn’t compatible with Windows 2008. But Exchange 2007 is. See

  19. Jeff says:

    Any issue installing this on Exchange 2007 mailbox servers, to enable a vb script that was developed before MRM to be run on the local server?

  20. Joe says:

    I am trying to install "Microsoft Exchange Server MAPI Client and Collaboration Data Objects 1.2.1" ( on 2008 SBS, and getting the error:

    "Collaboration Data Objects 1.2.1 cannot be installed unless Microsoft Office Outlook 2007 is also installed".

    The reason I ask is because my Symantec Backup Jobs are failing with:

    "e0001207 – To support individual mailbox message and folder restores from Information Store backups, you must download and install the Microsoft Exchange Server MAPI Client and Collaboration Data Objects package version 06.05.7888 or later on the Exchange 2007 server …"

    Does anyone know of a way to install MAPI/CDO without installing Outlook 2007?

  21. Joe – what you tried to install was ExchangeCdo.EXE and did not come from that link. You tried to install the CDO only package, which requires Outlook 2007. Redownload ExchangeMapiCdo.EXE and try it again.

  22. Jeremy says:

    installed onto windows 2003 standard 64bit.

    the mapi extensions installed just fine but it did not register cdo.

    manually registering c:"Program Files (x86)ExchangeMapi"cdo.dll fixed that.

  23. RE Not registering CDO: I’ve not run across that in my testing.

  24. Jeff says:

    I’m apparently having issues with MAPICDO 1.2.1 on a Windows 2008 x64 SP2 / BES 5.0 installation (problem with calendar synchronization).   According to the Blackberry Engineer I have to reinstall MAPI/CDO, but he proceeded to leave me high and dry because I’m running on a W2K08 x64 SP2 server.

    I tried moving the MAPI32.dll out of the SYSTEM32 and SYSWOW64 (at least that’s the way I’ve interpreted it from your Blog) and reinstalled MAPICDO 1.2.1, but as soon as I do that the Blackberry MailStorage service fails as it is looking for the MAPI32.DLL in the SYSWOW64 directory.  What should I be doing?

  25. Jeff – I didn’t mean to imply you should be manually moving binaries. I would suggest you:

    1 – Uninstall the MAPI download

    2 – Run FixMAPI

    3 – Check that the version of MAPI in syswow64 is 1.0.xxxx. If it isn’t there or is some version like 6.5, find that copy you manually moved and put it back. If you can’t find it – get it from another similar system.

    4 – Reinstall the MAPI download.

  26. Ganesh P says:

    I had an issue with Symantec backup for single mailbox recovery, the error saying need to install CDO1.2.1 on exchange server 2007. After installing CDO1.2.1 on exchange server i could able to take backup, but the problem is i could not able to configure MAPI for new users. Is this issue because of CDO1.2.1 on Exchange 2007 or something else making this problem.

  27. What do you mean by "configure MAPI for new users"? It’s not clear what your issue is.

  28. Sreejith.PS says:

    Hi stephen

    Am having Exchange 2008 x64 with Exchange 2007 sp1 running on it. for backup am using Syamntec backup exec 12.8 on a DELL Tape drive. Wen i try to take ordinary Exchange backup its works good, but wen i go for individual mailbox backup by check Granular restore technology there was error which shows to install Microsoft Mapi and CDO 1.2.1. after installing it too i faced the same problem with individual mailbox backup.

    I went through all the requisites of syamntec regarding this issue and i met it and still problem exists.

    What are the congiguration still i need to do on the Exchange side.

    I faced problems in configuring MAPI for new users. so i again uninstalled ExchangeMapicdo1.2.1 from Mailbox server.

    Kindly look into this issue. Suggest me the solution

    What should i do to take individual mailbox backup.

    is this problem related to Microsoft or Symantec?

  29. If no one will tell me what they mean by "configuring MAPI for new users", I cannot help. I suggest contacting Symantec if you’re having problems with their backup solution.

  30. Sreejith.PS says:

    Hi stephen

    configuring mapi for new users in the sense Configuring outlook 2007 for new users.

  31. Outlook won’t run? What does Outlook have to do with Symantec’s backup solution?

  32. Cody Muncy says:

    I am having problems with Symantec seeing the Exchange 2007 information store on a Server 2003 64 bit server.  After talking with Symantec, they are stating that mapi is not configured correctly.  If I go to system information, software environment and loaded modules, mapi32 module is not loading.  I have loaded Microsoft Mapi and CDO 1.2.1.  Any ideas?

  33. Go back to Symantec and ask them to resolve the issue.

  34. Cody Muncy says:

    They say it’s not their problem since mapi32 module is not loading.  They state it’s a Windows mapi issue.

  35. And telling their customers to go away and figure it out on their own is wrong. If Symantec needs help getting their application to work with MAPI, then Symantec needs to open a case with us.

  36. Cody Muncy says:

    I’m just wondering why the mapi module will not load.  I have another server with the same setup and the module is loading fine.

  37. Symantec will need to answer that – it’s their process and I don’t know anything about it. For instance, I can’t tell you if they’re even trying to load it – maybe they’re not even trying. I’ll tell you that mapi32 is the wrong module to look for – it’s called exmapi32 in the Exchange MAPI download.

  38. Cody Muncy says:

    The exmapi maodule isn’t loaded either.  Symantec states that it not their module but a windows module.  The module that loads correctly on another server is mapi32 1.0.2536.0 (srv03_sp1_rtm.050324-1447)  from that it looks like something that was loaded with SP1 and not by symantec.

  39. Whoever you’re talking to is clearly confused. You should ask to have your case escalated.

  40. Cody Muncy says:

    It already has been escalated.  They are stating this is a Microsoft issue and cannot go any further without Microsoft involvement.

  41. Cody Muncy says:

    Is there a way for me to test if mapi is functioning correctly on this server?

  42. CDO 1.2.1 with Redemption says:

    I have not seen postings here since Jan, so I hope this blog is still active.

    I am running Windows 2008 and I have installed CDO/Mapi 1.2.1 and it all went well. However, I am running Redemption and when I start a Mapi Session with Redemption, I get an error message stating that the sessions cannot be opened. I've got a couple of questions:

       1- After installing the mapi libraries, do I need to create a profile of some sort in order to get Mapi working?

       2- Is there any other setup that has to be done in order for the mapi interface to work?



  43. Thatch – The 27 other posts I've put up this year so far don't count?

    You're asking a question about Redemption. You should ask the maker of Redemption about his product.

  44. Install MAPI CDO 1.2.1 does not create mapi32.dll even after run fixmapi.exe says:

    We have installed MAPI CDO 1.2.1 using administrator account, we then logon using Besadmin account to install BlackBerry Enterprise Server Express. We are having issue creating mapi profile with error: "An error occurred while initializing a MAPI session" .

    When i logon using administrator account, i am able to create mapi profile just fine.

    We then uninstall MAPI CDO 1.2.1, rename all the mapi32.dll file to mapi32.old and logon using besadmin account to re-install it.

    Installation completed, however mapi32.dll file did not get created even after we ran the fixmapi.exe. And we are still unable to create mapi profile.

    Then we logon using administrator account to re-install MAPI CDO 1.2.1, mapi32.dll get created. However we still have the same issue creating mapi profile using besadmin account.

    I also notice that MAPISVC.inf does not exist in system32 folder it older exist in syswow64

    We checked the exchangemapi folder, all files are there including exmapi32.dll

    Windows SBS standard 2008 x64

    BES 5.0.2 Express

    UAC Off

    Can anyone please advise what might be wrong?

  45. CD Shriver says:


    Thanks for taking the time to work on this and to post your findings.  I think I can say that Symantec Backup Exec needs to figure out a better way to connect to Exchange if they want to keep their customers.  We're looking for a suitable replacement due to issues just like this.

    Thanks again,


  46. Steven says:

    Windows 7 x64 with Outlook 2007 installed;

    "Messaging API and Collaboration Data Objects 1.2.1 cannot be installed with Microsoft Outlook"

    Same if I try setting compatibility of the installer to anything other than Windows 7.

  47. Steven – this is expected. The MAPICDO package cannot be installed on a machine with Outlook on it. If you wanted CDO there's a different installer for that which includes just CDO.

  48. Lars Iversen says:

    Just want to repeat Sridhar's question: is there (will there be) a 64 bit MAPICDO release, i.e. being able to talk MAPI to Exchange from a 64 bit program (without using a 64 bit version of Outlook)?

  49. Lars – there are no plans for a 64 bit MAPICDO.

  50. RAM says:

    stephen – after installing latest mapicdo i am getting following error while accessing MAPI.sessionclass

    System.Runtime.InteropServices.COMException MSG:Retrieving the COM class factory for component with CLSID {3FA7DEB3-6438-101B-ACC1-00AA00423326} failed due to the following error: 80040154

  51. RAM – we didn't make any changes in an area that would explain that. Try uninstalling and reinstalling.

  52. RAM says:

    stephen-I am getting following error whie creating instance for MAPI.Sessionclass — >Collaboration Data Objects TYPE:System.Runtime.InteropServices.COMException MSG: [Collaboration Data Objects – [MAPI_E_NOT_FOUND(8004010F)]]

    Whr as its working fine in windows 2003 machine and not working on win 20008

  53. RAM says:

    Stephan – if we create object  objSession = Server.CreateObject("MAPI.Session")  its throwing below error

    [Collaboration Data Objects – [MAPI_E_NOT_INITIALIZED(80040605)]]

    In the registry key file is thr

  54. Sushanth says:

    Hi Stephan,

    currently we are using ExchangeServer 2003 in seperate machine and win server 2003 and Cdo.1.0x in seperate machine for communication. As per Servers upgrade we need to change our win server 2003 to win 2008 R2 so we installed latest ExchangeMAPICDO.exe.

    we followed below steps for fresh win server 2008 machine

    1. Installed ExchangeMAPICdo.exe

    2. verified new files in  C:Program Files (x86)ExchangeMapi

    3. CDO Latest dll & EXMAPI32.dll version its displaying is 6.5.8353.0

    4. deployed our application by adding reference latest CDO.dll -in the bin folder its displaying Ineterop.MAPI.dll

    5.while accessing MAPI.SessionClass instance its throwing NULL reference error. its displaying [Collaboration Data Objects – [MAPI_E_NOT_INITIALIZED(80040605)] error

    Pls let me know ur thoughts on this.



  55. ITGUY247 says:


    I'm trying to install Acronis Server Backup on a server running SBS 2008 and the Acronis installer wants me to upgrade from MAPI 6.x to 1.2.1. Well, I tried installing the MAPI software without first running the FixMAPI solution you mentioned (I just now came across this blog entry) and afterwards when trying to install Acronis again it is still showing version 6.x installed despite the new version installing without any errors (as you hinted to in this post). Now that I've read your blog post all of this is pretty much a given at this point but my question is the following:

    Does the FIXMAPI protocal still apply? I only ask because I clicked on the link only to find Microsoft doesn't recommend using that method any longer…?

    Thanks for your help!

  56. ITGUY247 says:

    Restarting the server worked. No need to use FixMAPI protocol.

  57. Ujjaval says:

    hey i am stuck with the MAPI stuff. I am making default mail client. So when user uses “Send to” feature, file will be send. But I am facing issue with office 2007 applications only, else it is working amazing.
    In office 2007 applications, MAPILogOn function is called and MAPIInitialize(…) is called successfully, MaPILogOnEx(…) returns S_Ok and after MAPILogOn(…) executed, office apps crashes. I don’t what is the issue and why app crashes.