【问题标题】:Unexpected behavior Outlook Redemption on Windows 7意外行为 Windows 7 上的 Outlook 兑换
【发布时间】:2013-08-20 07:45:53
【问题描述】:

我正在将我的开发电脑从 Windows XP(专业版、SP3、x86)迁移到 Windows 7(专业版、SP1、x86)。我正在处理的应用程序的源在两台机器上完全相同,但在启动 RDOSession 时在 Windows 7 机器上失败。

// Initialize the session.
_session = new RDOSession(); // Throws exception...
_session.LogonExchangeMailbox("mailbox@mydomain.com", "mail.mydomain.com");

这段代码导致以下异常:

System.Runtime.InteropServices.COMException was caught
  Message=Creating an instance of the COM component with CLSID {29AB7A12-B531-450E-8F7A-EA94C2F3C05F} from the IClassFactory failed due to the following error: 8004010e.
  Source=mscorlib
  ErrorCode=-2147221234
  StackTrace:
       at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
       at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
       at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
       at System.Activator.CreateInstance(Type type, Boolean nonPublic)
       at System.Activator.CreateInstance(Type type)
       at (...).DataAccess.ExchangeManager..ctor(ExchangeConfigurationSettings configurationSettings) in D:\Development\WIP\(...)\DataAccess\Exchange\ExchangeManager.cs:line 57

显然我直接考虑了 MAPI/CDO,所以我广泛检查了这一点,并在 Office 2007 和 2010 上尝试了 Win7,但没有运气。我目前的配置如下:

  • WinXP:VS2010SP1,无办公室,但安装了 Exchange MAPI 和 CDO 和赎回版本 5.5.0.3218。
  • Win7:VS2010SP1,无办公室,但安装了 Exchange MAPI 和 CDO 以及兑换版本 5.5.0.3218.

有人知道吗?提前致谢!

【问题讨论】:

  • 您是否尝试过注册 Redemption.dll? regsvr32.exe Redemption.dll
  • 不,我没有,我认为安装 Redemption 就足够了。我会立即尝试您的建议。
  • 好的,我已经通过命令行尝试过了。注册成功了,可惜还是出现异常。

标签: c# .net mapi outlook-redemption cdo.message


【解决方案1】:

错误是 MAPI_E_NOT_ENOUGH_RESOURCES,这通常意味着 MAPI 系统无法自行初始化。您的代码在何时何地运行?

【讨论】:

  • 好的!这是否意味着内存资源很少?这台电脑确实有 4 GB 的 RAM。在回答您的问题时,代码在 Visual Studio 调试环境中的上述 Win7-pc 上运行。什么时候?只有当我按下“运行”时。
  • 但这是什么样的应用程序? ASP.NET?服务?控制台应用程序?图形用户界面应用程序?如果您从 Windows 资源管理器而不是 VS IDE 运行应用程序,是否会遇到同样的错误?
  • 它是 .NET Framework 4 上的控制台应用程序。实际上,在不调试的情况下运行时,我确实遇到了同样的错误。
  • 我只能建议尝试从 SyssInternals 运行 Process Monitor 并检查访问文件或注册表是否有任何失败。
  • 我明天试试这个,我会告诉你的,谢谢你的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多