MFCMAPI issues with Exchange 2003

Jun 16, 2011 at 12:48 PM

Getting MAPI_E_CALL_FAILED when running Sessions > Logon and Display Store Table. Outlook 2010 is not installed. I cant install ExchangeCDO as it doesnt install on 2003. I looked at the default mail client registry setting, not 100% sure what to make of it. I dont want to go making changes either as its a production exchange server Im running this on. The key: HKLM\SOFTWARE\Clients\Mail\Default is: value not set. There are subkey folders for Hotmail and Outlook Express, but none for ExchangeMAPI(which our exchange 2010 server has).

Any suggestions?

Jun 16, 2011 at 1:31 PM

You have to have some version of MAPI installed on the machine to use MFCMAPI. What you have installed on other machines (such as your server) is irrelevent. Install Outlook or MAPICDO (

Jun 16, 2011 at 2:02 PM
Edited Jun 16, 2011 at 2:05 PM

MAPICDO wont install when exchange 2003 is present. it will only install for 2007 or 2010. Outlook 2007 didnt help either. It gave a different error, but cant remember what. I was reading that its not recommended to have outlook on the exchange server.

Jun 16, 2011 at 2:06 PM

You didn't mention the machine had Exchange 2003 on it (you just said 2003 - which, in this context, could mean Windows 2003, Office 2003, or Exchange 2003). Are you running the 32 bit version of MFCMAPI? What's the version number and size of c:\Windows\System32\mapi32.dll?

Jun 16, 2011 at 2:13 PM

Apologies (though it was in the title ;)). So it's the MFCMAPI x86 build.Version

c:\Windows\System32\mapi32.dll is 622KB in size, version: 6.5.7638.1


Thanks griffin

Jun 16, 2011 at 2:48 PM

What function is failing (it's in the error dialog)?

Jun 16, 2011 at 3:01 PM

So after trying to do: Logon and Display Store Table. The error is:

MAPIInitialize failed with error 0x80004005 == MAPI_E_CALL_FAILED

Here are some known causes.

- No version of Extended MAPI is installed.

- 64 bit Outlook 2010 is installed.

-Windows Mail or Outlook Express is registered as the default mail client


In file .\MapiObjects.cpp

On line 113.

Jun 17, 2011 at 11:28 AM

I setup outlook on a test exchange 2003 server. It doesnt run into the error, but the program crashes when I try and do what I need to.  I go Profile > Add Services to MAPISVC.INF. I select exchange, then MFCMAPI crashes.

Jun 17, 2011 at 12:14 PM

Well - now you've built an unsupportable system with two different implementations of MAPI installed. Crashing is pretty much an expected symptom of such a system. No version of Outlook can *ever* be installed on a system with Exchange 2003. My recommendation: uninstall Outlook, uninstall Exchange, reinstall Exchange, apply Exchange service packs.

Jun 17, 2011 at 2:35 PM

Well before I even installed outlook, I put it to service pack 2 which is what our live server is at. Had the same issue as above with MAPI not being found. So I thought Id try installing outlook on it to remind myself what the problem was.

Jun 24, 2012 at 10:54 PM
Edited Jun 24, 2012 at 11:00 PM

I'll second this.  I have an old version of MFCMAPI which connects fine when run on my Exchange 2003 box.  The latest version throws the error described above.  My older version is  This is a 32-bit system.

I just tested some other versions, and it appears to break at works.

It's an Exchange '03 box, so I can't install a newer version of CDO.

Jun 25, 2012 at 8:20 PM

Does Tools/Options/"Force the use of the system's MAPI files" allow it to work?

Jul 14, 2012 at 2:23 AM

Hey Steve,

Sorry for the late reply.  The site didn't ping me with email, despite my settings.

The force system files option seems to do the trick.  Surprised that it no longer works by default, but at least there's a way to make it work.

I'm bundling mfcmapi in a suite of tools used by our techs, and I think I'll stick with the since I don't have to rig the registry setting for that option.

Keep up the good work.

Jul 16, 2012 at 1:51 PM

Ted - are you still having a problem with the April 2012 and later builds? This fix:

should have affected this issue.