Detect if Exchange MAPI is installed
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 d开发者_运维技巧etect 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.
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.
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.
精彩评论