MAPIInitialize()在2020年4月24日Office 365更新后失败



从2020年4月22日开始,此代码段开始失败:

HRESULT hRes;
MAPIINIT_0 MAPIINIT= { 0, MAPI_MULTITHREAD_NOTIFICATIONS};
hRes = MAPIInitialize(&MAPIINIT);   <---  Program halts here.

至少自2000年(20年(以来,此代码一直在运行,没有出现任何问题。

Office 365更新后,此操作至少在一台计算机上失败。然而,这个问题与几个不同的Outlook版本有关:

Office 365版本2005-16.0.12823.20000 64位-Windows Insider。

Office 365 2003版-12624.20520(点击运行(-当前版本。

到目前为止,仅适用于Windows 10。

有人找到运行MAPIInitialize((的方法了吗?

是的,最新的Insider Slow(每月(更新打破了MAPIInitialize

微软已经意识到了这个问题,但目前还没有解决办法。唯一的解决办法是安装Insider Fast版本(https://www.msoutlook.info/question/office-365-for-business-office-insider-fast-builds)或降级到以前的版本之一https://support.microsoft.com/en-us/help/2770432/how-to-revert-to-an-earlier-version-of-office-2013-or-office-2016-clic

您也可以尝试修改系统PATH:https://github.com/stephenegriffin/mfcmapi/issues/367

加载

%ProgramFiles%Microsoft OfficerootvfsProgramFilesCommonX86Microsoft SharedOFFICE16Mso20win32client.dll

%ProgramFiles%Microsoft OfficerootOffice16OutlookServicing.dll

在调用MAPIInitialize((之前,可以消除崩溃。

对我们来说,系统路径修改效果很好。对于包括32/64位在内的不同版本,确切路径是不同的。我们构建了一个小型可执行文件,以最终用户友好的方式处理此问题:

https://www.companionlink.com/files/special/Fix365MAPI.exe

To add path:  fix365mapi
To remove path:  fix365mapi /u
Reboot the PC to ensure the path is used.

我们拥有庞大的安装群。我们已经向拥有Insider Slow、Insider Fast、Insider Quick(4月27日更新(和Monthly客户的客户验证了该问题。然而,很明显,只有一小部分我们的安装基础看到了这个问题。因此,除了Office 365更新之外,肯定还有第二个因素,可能是(点击运行(或4月份的Windows 10更新。

在我们的测试中,添加路径修复了这个问题,所以它看起来像一个简单的依赖性问题。

最新更新