2012-12-19 84 views
2

我试图运行在Azure中WebRole一些浏览器的自动化任务,而是试图实例IE浏览器实例时,我遇到下面的错误运行IE浏览器实例:通过华廷在Azure上

System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {0002DF01-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

代码在Azure模拟器中运行良好。

我已经做了一些阅读,并得出这样的结论,我可能需要使用DCOMCNFG实用程序修改权限,以允许IIS用户启动一个IE实例,但的AppID,上面引用CLSID不列在DCOMCNFG实用程序中,因此我无法更改这些权限。

有没有人有任何想法?我在我的智慧结束。

谢谢!
克里斯

回答

1

尝试运行你的代码通过将每个*Role元素(WebRole/WorkerRole)内的以下修改您的.csdef文件升高:

<Runtime executionContext="elevated" /> 

这将运行你的代码作为本地系统账户。

+0

没有在我的情况下工作...无论如何有趣的信息,谢谢。 – Marc

+0

这是什么意思“没有工作” - 你是否解决了这个问题?提升执行环境将在本地系统帐户下运行您的任务 - 这是Windows系统上可以存在的权限最高的帐户。如果失败了,可能是由于该帐户没有用户配置文件。这也是可行的。 – astaykov