Question

Since Exchange 2007, MAPI is no longer installed when Exchange is installed. On these systems this install is needed in addition to Exchange if you want to use MAPI.

My software depends on Exchange MAPI, so I need to detect if its installed. How can I reliably test if MAPI is installed on the local machine? First prise will be if I can also know if its Exchange MAPI or outlook MAPI and if its 32 bit or the new 64 bit.

Was it helpful?

Solution

Check if HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\ExchangeMAPI key exists and read the DllPathEx string value. Exchange (standalone) version fo MAPI is always 32 bit. 64 bit version of MAPI is only installed if Outlook 2010 64 bit is installed.

OTHER TIPS

It seems to me the answer of Dmitry isn't correct.

HKEY_LOCAL_MACHINE\SOFTWARE\Clients contains a (Default) value. If this value is set, it is set to the name of a subkey. That might be ExchangeMAPI, but it might also be something else. In my case it is set to "Microsoft Outlook". Under this subkey, you can look for the DLLPath or DLLPathEx values.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top