从 Exchange 2007 开始,安装 Exchange 时不再安装 MAPI。在这些系统上,如果您想使用 MAPI,除了 Exchange 之外还需要此安装。
我的软件依赖于 Exchange MAPI,所以我需要检测它是否已安装。如何可靠地测试 MAPI 是否安装在本地计算机上?一等奖将是我是否还可以知道它的 Exchange MAPI 或 Outlook MAPI 以及它是 32 位还是新的 64 位。
从 Exchange 2007 开始,安装 Exchange 时不再安装 MAPI。在这些系统上,如果您想使用 MAPI,除了 Exchange 之外还需要此安装。
我的软件依赖于 Exchange MAPI,所以我需要检测它是否已安装。如何可靠地测试 MAPI 是否安装在本地计算机上?一等奖将是我是否还可以知道它的 Exchange MAPI 或 Outlook MAPI 以及它是 32 位还是新的 64 位。
检查 HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\ExchangeMAPI 键是否存在并读取 DllPathEx 字符串值。MAPI 的 Exchange(独立)版本始终为 32 位。仅当安装了 Outlook 2010 64 位时,才会安装 64 位版本的 MAPI。
在我看来,德米特里的答案是不正确的。
HKEY_LOCAL_MACHINE\SOFTWARE\Clients
包含一个(默认)值。如果设置了此值,则将其设置为子项的名称。那可能是ExchangeMAPI
,但也可能是别的东西。在我的情况下,它设置为“ Microsoft Outlook
”。在此子项下,您可以查找DLLPath
或DLLPathEx
值。