OLMAPI32.dll 访问冲突 - 通过 Visual Studio 使用 Outlook Redemption 时
OLMAPI32.dll Access Violation - When using Outlook Redemption via Visual Studio
运行 Windows 10 与 Office 2016
来自 VBA (MS Word):
引用Redemption.dll
运行 下面的代码将创建一个会话和 return 帐户名
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 对象时生成此异常。
Exception thrown at 0x0F304797 (OLMAPI32.DLL) in RedemptionTest.exe: 0xC0000005: Access violation writing location 0x00000000.
事件日志报告:
Faulting application name: RedemptionTest.exe, version: 1.0.0.0, time stamp: 0x587e37c6
Faulting module name: olmapi32.dll, version: 16.0.6965.6571, time stamp: 0x58606a5b
Exception code: 0xc0000409
Fault offset: 0x00134797
Faulting process id: 0x4ce0
Faulting application start time: 0x01d270d888a9b2ff
Faulting application path: C:\Redox\Test\RedemptionTest\RedemptionTest\bin\x86\Debug\RedemptionTest.exe
Faulting module path: C:\Program Files (x86)\Microsoft Office\Root\Office16\olmapi32.dll
Report Id: 7c4170c7-b227-4839-b956-3b51c52920c0
Faulting package full name:
Faulting package-relative application ID:
但是,如果我为 VB 项目创建一个安装文件并将其安装在我的机器上,它将毫无例外地 运行 安装的应用程序和 return 帐户名.
这曾经工作得很好。我不记得它是否在我安装 Office 2016 后通过 VS 工作,并且在升级到 Win 10 后它肯定没有工作。
关于如何通过 VS 让它工作有什么建议吗?非常感谢。
兑换版本:5.0
根据 Dmitry 的评论:
Outlook 2016 C2R broke the way MAPI system is loaded - you need to have the latest version (5.12, or at least 5.11) to support Outlook 2016.
安装和使用 Redemption 5.12 解决了 Visual Studio 中 运行 的问题。
谢谢德米特里。
运行 Windows 10 与 Office 2016
来自 VBA (MS Word):
引用Redemption.dll
运行 下面的代码将创建一个会话和 return 帐户名
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 对象时生成此异常。
Exception thrown at 0x0F304797 (OLMAPI32.DLL) in RedemptionTest.exe: 0xC0000005: Access violation writing location 0x00000000.
事件日志报告:
Faulting application name: RedemptionTest.exe, version: 1.0.0.0, time stamp: 0x587e37c6
Faulting module name: olmapi32.dll, version: 16.0.6965.6571, time stamp: 0x58606a5b
Exception code: 0xc0000409
Fault offset: 0x00134797
Faulting process id: 0x4ce0
Faulting application start time: 0x01d270d888a9b2ff
Faulting application path: C:\Redox\Test\RedemptionTest\RedemptionTest\bin\x86\Debug\RedemptionTest.exe
Faulting module path: C:\Program Files (x86)\Microsoft Office\Root\Office16\olmapi32.dll
Report Id: 7c4170c7-b227-4839-b956-3b51c52920c0
Faulting package full name:
Faulting package-relative application ID:
但是,如果我为 VB 项目创建一个安装文件并将其安装在我的机器上,它将毫无例外地 运行 安装的应用程序和 return 帐户名.
这曾经工作得很好。我不记得它是否在我安装 Office 2016 后通过 VS 工作,并且在升级到 Win 10 后它肯定没有工作。
关于如何通过 VS 让它工作有什么建议吗?非常感谢。
兑换版本:5.0
根据 Dmitry 的评论:
Outlook 2016 C2R broke the way MAPI system is loaded - you need to have the latest version (5.12, or at least 5.11) to support Outlook 2016.
安装和使用 Redemption 5.12 解决了 Visual Studio 中 运行 的问题。
谢谢德米特里。