自Exchange 2007以来,安装Exchange时不再安装MAPI。在这些系统上,如果您想使用MAPI,则除Exchange外还需要this install。检测是否安装了Exchange MAPI
我的软件依赖于Exchange MAPI,所以我需要检测它是否安装。如何可靠地测试MAPI是否安装在本地计算机上?如果我还可以知道其Exchange MAPI或Outlook MAPI以及其32位或新的64位,则可获得一等奖。
自Exchange 2007以来,安装Exchange时不再安装MAPI。在这些系统上,如果您想使用MAPI,则除Exchange外还需要this install。检测是否安装了Exchange MAPI
我的软件依赖于Exchange MAPI,所以我需要检测它是否安装。如何可靠地测试MAPI是否安装在本地计算机上?如果我还可以知道其Exchange MAPI或Outlook MAPI以及其32位或新的64位,则可获得一等奖。
检查是否存在HKEY_LOCAL_MACHINE \ SOFTWARE \ Clients \ Mail \ ExchangeMAPI项并读取DllPathEx字符串值。 MAPI的交换(独立)版本始终为32位。 仅当安装了Outlook 2010 64位时,才会安装64位版本的MAPI。
在我看来,德米特里的答案是不正确的。
HKEY_LOCAL_MACHINE\SOFTWARE\Clients
包含(默认)值。如果设置了该值,则将其设置为子密钥的名称。这可能是ExchangeMAPI
,但它也可能是别的。在我的情况下,它被设置为“Microsoft Outlook
”。在此子项下,您可以查找DLLPath
或DLLPathEx
值。
真的吗?我问,如果MAPI和CDO安装在系统上,Outlook 2010将不会安装,反之亦然。 “邮件API和协作数据对象1.2.1不能与Microsoft Outlook一起安装” – Amicable 2013-03-14 16:00:30
如果安装了Outlook,则不会安装MAPI的独立版本,但我不认为Outlook会拒绝安装在独立版本的MAPI之上。 – 2013-03-14 22:12:12
如果在Outlook之前安装了独立版本的MAPI,则会出现“Outlook 2010可能未安装更新版本”的错误,继续安装的唯一方法是删除MAPI。我个人有这个[问题](http://superuser.com/questions/565757/outlook-may-not-be-installed-with-a-newer-version-of-outlook)。 – Amicable 2013-03-15 09:08:25