【问题标题】:"The operating system is not presently configured to run this application" Error when Running MAPI App“操作系统当前未配置为运行此应用程序”运行 MAPI 应用程序时出错
【发布时间】:2018-05-04 02:22:43
【问题描述】:

感谢您的回复和cmets。

让我更详细地描述一下情况。

我使用 Visual C++ 2008 编写了一个将调用 MAPI 的小型应用程序。我使用 MAPIStubLibrary 来支持 32 位和 64 位 MAPI。可以在https://msdn.microsoft.com/en-us/library/office/cc963763.aspx#sectionSection2 找到 MAPIStubLibrary。它适用于其他版本的 Outlook 和大多数系统。但是,在安装了 Office 2016(32 位)的 Windows 10(32 位)下,当我执行以下语句来初始化 MAPI 时:

MAPIInitialize(NULL);

我将收到上述错误消息“操作系统当前未配置为运行此应用程序”。并且会从函数 GetDefaultMapiHandle() 引发未处理的异常,该函数位于 MAPIStubLibrary 的一部分 StubUtils.cpp 中。

导致异常的确切行是:

hinstMapi = LoadLibraryW(wzPath);

似乎 MAPIStubLibrary 正在尝试加载 32 位 MAPI 但失败了。 wzPath 指向 olmapi32.dll 而不是 msmapi32.dll。

在错误消息中,如果我单击错误消息框中的“确定”按钮,应用程序将继续运行而不会出现问题。但是,错误消息仍然使用户感到沮丧和困惑。那么,如何消除错误呢?

非常感谢。

【问题讨论】:

  • 究竟是哪一行代码导致了错误?

标签: outlook windows-10 mapi office-2016


【解决方案1】:

这通常发生在您加载错误的 MAPI dll(例如 olmapi32.dll 而不是 msmapi32.dll)或您的应用程序在兼容模式下运行(您是否包含清单?)并且 MAPI 系统结束时假设旧版本的 Windows 修补错误的 Windows API 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 2022-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多