【问题标题】:Failed to create an object instance for the specified ProgID (Outlook.Application)无法为指定的 ProgID (Outlook.Application) 创建对象实例
【发布时间】:2015-10-20 05:33:11
【问题描述】:

我正在尝试从 Silverlight 应用程序自动创建 Outlook 电子邮件。这是我的代码:

dynamic fso = AutomationFactory.CreateObject("Scripting.FileSystemObject");
dynamic cd = AutomationFactory.CreateObject("WIA.CommonDialog");
dynamic outlook = AutomationFactory.CreateObject("Outlook.Application");   

第三行因主题错误而失败。我发现了类似的帖子: Failed to create an object instance for the specified ProgID (WIA.CommonDialog)

所以,我确实有一些其他提升权限的功能,而且一切正常。我故意尝试添加上面链接帖子的作者遇到问题的 2 行代码(前 2 行)。现在,它看起来不是我的配置问题,而是 Outlook 本身的问题。

我拥有的 Outlook 2013 是否有可能不“响应”“Outlook.Application”名称?

【问题讨论】:

    标签: silverlight outlook silverlight-5.0


    【解决方案1】:

    Outlook 是一个单例,因此 COM 系统将尝试连接到正在运行的实例。如果 Outlook 和您的应用的安全上下文不同,COM 将不会封送现有对象。

    您的代码在哪里运行?

    【讨论】:

    • 现在我只是在我的 IIS 上本地运行它。这是具有提升权限的 SL 应用程序。 Outlook 已打开并正在运行
    • IIS 是一项服务,不能从服务中使用 Outlook(或任何其他 Office 应用程序)。
    • 我从 Silverlight 客户端使用它,而不是从服务器。
    • 如果您仍然收到错误,这意味着安全上下文不同。你的代码是做什么的?如果可以选择使用 Redemption,则其 RDO 系列对象会在进程中加载​​,并且可以访问 Outlook 数据。
    • 这是一个 Silverlight 客户端,在客户端 PC 上注册另一个 COM 对象并不是一个真正的选择。它现在可以工作了。如果 Outlook 目前关闭,我 2013 年的代码行将执行。在其他机器上使用 2010 似乎可以正常工作。所以,问题出在我的 Outlook 上,并且在 2013 年的 Internet 上记录了它
    【解决方案2】:

    我只是在我的 IIS 上本地运行它。

    Microsoft 目前不推荐也不支持从任何无人值守的非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)自动化 Microsoft Office 应用程序,因为 Office在此环境中运行 Office 时可能会出现不稳定的行为和/或死锁。

    如果您要构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用服务器端解决方案中的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将承担整体解决方案稳定性的风险。在Considerations for server-side Automation of Office 文章中阅读更多相关信息。

    【讨论】:

    • 引用文字与我如何运行应用程序进行开发有关。 Silverlight 是一种客户端技术。我正在尝试自动化 LOCAL Outlook,类似于 html 中的“mailto:”。我没有在服务器上运行 Outlook,它在我的客户端机器上
    【解决方案3】:

    如果 Outlook 打开,则使用 Outlook 2013 自动化不起作用。如果我关闭前景 - 这有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 2017-04-21
      • 1970-01-01
      • 2019-04-07
      相关资源
      最近更新 更多