2012-12-19 159 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