OLMAPI32.dll访问冲突 - 通过Visual Studio使用Outlook Redemption时

时间:2017-01-17 15:58:33

标签: vb.net visual-studio outlook-redemption

在带有Office 2016的Windows 10上运行

来自VBA(MS Word):

参考Redemption.dll

运行以下代码将创建会话并返回帐户名称

    Dim r As New RDOSession

    r.Logon

    Debug.Print r.Accounts.Item(1).Name

    r.Logoff

    Set r = Nothing

来自Visual Studio(VS)2015 VB.NET项目:(VS2010和VS2013相同)

参考Redemption.dll

运行以下代码......

    Dim sess As New Redemption.RDOSession

    sess.Logon()

    MessageBox.Show(sess.Accounts(1).Name)

    sess.Logoff()

...在尝试创建RDOSession对象时生成此异常。

  

RedemptionTest.exe中0x0F304797(OLMAPI32.DLL)抛出异常:0xC0000005:访问冲突写入位置0x00000000。

事件日志报告:

  

错误应用程序名称:RedemptionTest.exe,版本:1.0.0.0,时间戳:0x587e37c6
  错误模块名称:olmapi32.dll,版本:16.0.6965.6571,时间戳:0x58606a5b
  例外代码:0xc0000409
  故障偏移:0x00134797
  错误进程id:0x4ce0
  故障应用程序启动时间:0x01d270d888a9b2ff
  错误应用程序路径:C:\ Redox \ Test \ RedemptionTest \ RedemptionTest \ bin \ x86 \ Debug \ RedemptionTest.exe
  错误模块路径:C:\ Program Files(x86)\ Microsoft Office \ Root \ Office16 \ olmapi32.dll
  报告编号:7c4170c7-b227-4839-b956-3b51c52920c0
  错误包全名:
  故障包相关申请ID:

但是,如果我为VB项目创建安装文件并将其安装在我的机器上,它将运行已安装的应用程序并返回帐户名称,没有任何例外。

这曾经很好用。在安装Office 2016之后,我不记得它是否通过VS工作,自升级到Win 10后它肯定没有用。

有关如何通过VS让它工作的任何建议?非常感谢。

赎回Ver:5.0

1 个答案:

答案 0 :(得分:0)

根据德米特里的评论:

  

Outlook 2016 C2R打破了MAPI系统的加载方式 - 您需要拥有最新版本(5.12,或至少5.11)才能支持Outlook 2016.

安装和使用Redemption 5.12解决了从Visual Studio运行的问题。

谢谢德米特里。