Спасибо за ваш ответ и комментарии.
Позвольте мне описать ситуацию более подробно.
Я использую Visual C ++ 2008 для написания небольшого приложения, которое будет вызывать MAPI. Я использую MAPIStubLibrary для поддержки 32-битных и 64-битных MAPI. MAPIStubLibrary можно найти на https://msdn.microsoft.com/en-us/library/office/cc963763.aspx#sectionSection2. Он работает на других версиях Outlook и на большинстве систем. Однако в Windows 10 (32-разрядная версия) с установленным Office 2016 (32-разрядная версия), когда я выполняю следующую инструкцию для инициализации MAPI:
MAPIInitialize(NULL);
Я получу сообщение об ошибке выше "Операционная система в настоящее время не настроена для запуска этого приложения". И будет необработанное исключение, вызванное функцией GetDefaultMapiHandle (), которая находится в StubUtils.cpp, части MAPIStubLibrary.
Точная строка, вызывающая исключение:
hinstMapi = LoadLibraryW(wzPath);
Похоже, что MAPIStubLibrary пытается загрузить 32-битный MAPI, но не удается. wzPath указывает на olmapi32.dll вместо msmapi32.dll.
В сообщении об ошибке, если я нажму кнопку «ОК» в окне сообщения об ошибке, приложение продолжит работу без проблем. Тем не менее, сообщение об ошибке все еще расстраивает и сбивает с толку пользователей. Поэтому как устранить ошибку?
Большое спасибо.