无法为指定的ProgID(Outlook.Application)

时间:2015-10-19 18:45:16

标签: silverlight outlook silverlight-5.0

我正在尝试从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”名称?

3 个答案:

答案 0 :(得分:0)

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

您的代码在哪里运行?

答案 1 :(得分:0)

  

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

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

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

答案 2 :(得分:0)

使用Outlook 2013自动化在Outlook打开时不起作用。如果我关闭展望 - 这是有效的。